将printf存储在char数组中?

时间:2016-09-14 16:16:06

标签: c

有没有办法获取printf in a char array的结果?

我需要设置字符串P:result

其中resultint

所以如果result = 4;

所以我需要char array包含"S: 4"

其他方法也很好,但是我的结果是printf,所以我想知道我是否可以获取它?

2 个答案:

答案 0 :(得分:7)

是的,您可以使用snprintfsprintf的更安全的替代方案)。 snprintfprintf之间的唯一区别是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