在 C 中是否有一种方法可以像在 中一样格式化字符串printf
,而是将其存储在变量中?我正在尝试将其用于系统调用,因此我可以在调用中包含一个变量。
问问题
1693 次
1 回答
5
您可以在使用之前使用sprintf
(或snprintf
在 C99/C11 中)格式化您的字符串。
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
例子:
// Use the value of an integer 'n' as argument in 'perror' (C99).
#include <limits.h>
#include <stdio.h>
char argument[sizeof(int) * CHAR_BIT + 1];
snprintf(argument, sizeof argument, "%d", n);
perror(argument);
于 2013-06-06T18:25:27.853 回答