作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道如何措辞,所以标题可能不清楚。这是有问题的行
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
将任何数据转换为字符串。 sprintf
和 snprintf
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/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!