作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
查看这段代码:
int main() {
char a[50];
FILE *fp;
fp = fopen("test1.txt", "w");
sprintf(a,"jigar %d \n", 3);
fprintf(fp,"jigar %d \n", 3);
sprintf(a,"patel %d \n", 2);
fprintf(fp,"patel %d \n", 2);
printf("%s", a);
}
在这里,使用fprintf
,我可以在文件中写入
jigar 3
patel 2
我想要的相同功能,无论我打印什么,都在一个字符缓冲区中。
但是使用 sprintf
给我缓冲区
patel 2
我有很多这样的打印,我想添加到一个字符缓冲区中,然后我需要将它返回给应用程序,那么如何以最简单和最快的方式获取它?
最佳答案
sprintf()
返回打印的字符数。
只需使用该数字进行下一次写入...
int i;
char a[50];
char *ap = a;
for (i = 5; i < 15; i++) {
ap += sprintf(ap, "%d ", i);
}
printf("%s\n", a); /* "5 6 7 8 9 10 11 12 13 14 " */
确保您不会导致任何缓冲区溢出。
关于c - 如何在 sprintf() 中获取追加模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295031/
我是一名优秀的程序员,十分优秀!