在C中格式化字符串

通常你可以像这样在C中打印一个字符串.

printf("No record with name %s found\n", inputString);

但我想用它制作一个字符串,我该怎么做呢?我在寻找像这样的东西..

char *str = ("No record with name %s found\n", inputString);

我希望很清楚我在寻找什么……

最佳答案
一种选择是使用sprintf,它就像printf一样,但它的第一个参数是一个指向缓冲区的指针,它应该将结果字符串放入其中.

最好使用snprintf,它采用包含缓冲区长度的附加参数来防止缓冲区溢出.例如:

char buffer[1024];
snprintf(buffer, 1024, "No record with name %s found\n", inputString);

转载注明原文:在C中格式化字符串 - 代码日志