将printf存储在char数组中?

Che*_*her 1 c

有没有办法取得一个结果printf in a char array

我需要设置一个字符串P:result

这里result是一个int

因此,如果 result = 4;

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

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

Sea*_*ght 8

是的,您可以使用snprintf(更安全的替代方案sprintf).snprintf和之间的唯一区别printfsnprintf写入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;
}
Run Code Online (Sandbox Code Playgroud)