Запись данных в файл в одну строку - C (СИ)
Формулировка задачи:
Подскажите, пожалуйста, при записывании в файл трех параметров(название книги, автор и год) через FILE* данные записываются очень далеко друг от друга в одну колонку(около 100 пустых строк между ними)
Возможно ли сделать так, чтобы данные записывались в строку (назв, автор, год) а следующие данные записывались ниже?
FILE* fp = fopen ("text.txt", "w"); fwrite(&books[0], sizeof(tag_book), 1,fp); fclose(fp); for (int j=1; j< N; j++) { fp = fopen ("text.txt", "a"); fwrite(&books[j], sizeof(tag_book), 1,fp); fclose(fp); }
Решение задачи: «Запись данных в файл в одну строку»
textual
Листинг программы
for (int j=1; j< N; j++) { fp = fopen ("carsmy.txt", "ab"); fwrite(&autos[j], sizeof(autos), 1,fp); fclose(fp); }
Объяснение кода листинга программы
- Создается файл
carsmy.txt
или открывается уже существующий файл с таким названием в режиме добавления (ab
). - В цикле происходит запись данных из массива
autos
в файлcarsmy.txt
. - Каждый элемент массива
autos
записывается в файл целиком, начиная с первого байта и заканчивая последним байтом, потому что функцияfwrite
записывает данные в файл, как они есть, без изменений. - После записи данных в файл, файл закрывается.
- Цикл повторяется для каждого элемента массива
autos
, начиная со второго и заканчивая N-ым.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д