テキストにファイルを書き込む際に問題があります。ご覧のとおり、私は\n
を使って別のデータセットを次の行に置きました。問題は、ファイルを閉じて、\n
で終わる1行のデータをもう一度保存すると、\n\n
というようになります。私のファイルは、このCプログラミングfprintf問題
FIRST SAVE
test, test, test
test, test, test
SECOND SAVEなぜ私は画面に表示するときだ
test, test, test
test, test, test
THIRD SAVE
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);
}
}
助けてください...任意の提案をいただければ幸いです。前もって感謝します。私はこれを推測している
配列 'に何である[I] - > course'?最後に改行がありますか? 'array [i] - > studentID'には何がありますか?初めに改行がありますか? –
'array [i] - > course'に別の改行ターミネーターがある可能性は非常に高いです。ヒント: 'fgets()'は、改行ターミネータとともに行全体を読み込みます。どのようにファイルを「再保存」していますか? – ruslik