У меня возникла проблема при написании файла в тексте. Как вы могли видеть, я использовал \n
, чтобы поместить другой набор моих данных в следующую строку. Проблема в том, что когда я закрываю файл и сохраняю снова данные на строку, которая заканчивается \n
, становится \n\n
и так далее. Вот почему мой файл выглядит следующим образомC Программирование fprintf issue
FIRST SAVE
test, test, test
test, test, test
ВТОРАЯ SAVE
test, test, test
test, test, test
ТРЕТИЙ 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);
}
}
Помогите пожалуйста ... любые предложения будут оценены. Заранее спасибо.
Что в 'массив [я] -> course'? Имеет ли она новую строку в конце? Что находится в 'array [i] -> studentID'? Имеет ли она новую линию в начале? –
Очень возможно, что ваш 'array [i] -> course' имеет еще один терминатор новой строки. Подсказка: 'fgets()' читает всю строку вместе с терминатором новой строки. Как именно вы «сохраняете» файл? – ruslik