gpt4 book ai didi

c - 使用 strcpy 存储具有多个变量的字符串

转载 作者:行者123 更新时间:2023-11-30 15:31:19 25 4
gpt4 key购买 nike

我不知道如何措辞,所以标题可能不清楚。这是有问题的行

strcpy (stringstore,"int1: %d\nint2: %d\nint3: %d\nint4: %d\nstring1: %s\nstring2: %s\n",int1,int2,int3,int4,string1,string2);

这是在 for 循环内,因此整数和字符串的值正在变化。我想将每个字符串存储在字符串存储中。我怎样才能做到这一点?

编辑:这里有更多代码。

int id;
int year;
char title[30];
char director[30];
double price;
double length;
int i;
char stringstore[300];
FILE *outp;
outp= fopen("CurrentCatalog.txt","w");
for (i = 0;i<=*size;i++)
{
id = entry[i].id;
year = entry[i].year;
strcpy(title,entry[i].title);
strcpy(director,entry[i].director);
price = entry[i].price;
length = entry[i].length;
fprintf(outp,"ID: %d\nTitle: %s\nDirector: %s\nYear: %d\nPrice: %.2f\nLength: %.2f\n",id,title,director,year,price,length);
}
fclose(outp);

最佳答案

始终首选 snprintf 将任何数据转换为字符串。 sprintfsnprintf

的原型(prototype)
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);

在代码中进行以下更改

snprintf(stringstore,sizeof(stringstore),"int1: %d\nint2: %d\nint3: %d\nint4: %d\nstring1: %s\nstring2: %s\n",int1,int2,int3,int4,string1,string2);

关于c - 使用 strcpy 存储具有多个变量的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24893210/

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