有没有办法获取printf in a char array
的结果?
我需要设置字符串P:result
其中result
是int
所以如果result = 4;
所以我需要char array
包含"S: 4"
其他方法也很好,但是我的结果是printf
,所以我想知道我是否可以获取它?
答案 0 :(得分:7)
是的,您可以使用snprintf
(sprintf
的更安全的替代方案)。 snprintf
和printf
之间的唯一区别是snprintf
写入char *
而不是直接写入标准输出:
#include <stdio.h>
int main(int argc, char *argv[])
{
char buffer[128];
int result = 4;
snprintf(buffer, sizeof(buffer), "S: %d", result);
printf("%s\n", buffer);
return 0;
}
答案 1 :(得分:3)
您可以使用sprintf
获取格式化字符串。
http://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm