我在互联网上浏览,试图找到一种解决方案,用于逐行写入c中的文件。我找到解决方案,如改变的模式fopen()
来w+
,wt
,wb
但它并没有为我工作。我什至读了put\r
而不是\n
在行的末尾,但是当我尝试将文件写入时,仍然只写了最后一行。
FILE *log = NULL;
log = fopen(fileName, "w");
if (log == NULL)
{
printf("Error! can't open log file.");
return -1;
}
fprintf(log, "you bought %s\n", pro[item].name);
fclose(log);
非常感谢您的时间和帮助。
这是因为每次在“ w”模式下执行fprintf时,日志都将被新内容覆盖,因为该文件不是在“追加”模式下而是在“写入”模式下打开的。
更好的方法是使用:
fopen("filename", "a");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句