在写文件时我遇到了问题。您可以看到,我使用了\n
来将我的另一组数据放在下一行。问题在于当我关闭文件并再次保存时,每行以\n
结尾的数据变成了\n\n
等。这就是为什么我的文件看起来像这样的原因。
首次保存
test, test, test
test, test, test
第二次保存
test, test, test
test, test, test
第三次保存
test, test, test
test, test, test
这就是为什么当我在屏幕上显示它时...之间会有垃圾值...我的代码如下:
save(){
int i = 0;
FILE *stream = NULL;
stream = fopen("student.txt", "wt");
printf("\nSaving the student list directory. Wait a moment please...");
printf("\nExiting the program...");
for (i=0; i<recordCtr; i++){
fprintf(stream, "%s, %s, %s\n", array[i]->studentID, array[i]->name, array[i]->course);
}
}
拜托了...任何建议都将不胜感激。提前感谢您。
array[i]->course
中有什么?它的末尾有换行符吗?array[i]->studentID
中有什么?它的开头有换行符吗? - James McNellisarray[i]->course
有另一个换行符。提示:fgets()
会将整行文本与换行符一起读入。你是如何“重新保存”文件的? - ruslik