use*_*239 2 c file-io fopen file-writing
我查看了互联网,试图找到一个逐行写入c文件的解决方案.我找到解决方案,如改变的模式fopen()来w+,wt,wb但它并没有为我工作.我甚至读取\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);
Run Code Online (Sandbox Code Playgroud)
非常感谢您的时间和帮助.
这是因为每次在"w"模式下执行fprintf时,日志都会被新内容覆盖,因为文件未在"追加"模式下打开,而是处于"写入"模式.
更好的是使用:
fopen("filename", "a");
Run Code Online (Sandbox Code Playgroud)