gpt4 book ai didi

c - 如何在 sprintf() 中获取追加模式

转载 作者:太空狗 更新时间:2023-10-29 15:09:51 27 4
gpt4 key购买 nike

查看这段代码:

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com