Запись данных в файл в одну строку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите, пожалуйста, при записывании в файл трех параметров(название книги, автор и год) через FILE* данные записываются очень далеко друг от друга в одну колонку(около 100 пустых строк между ними) Возможно ли сделать так, чтобы данные записывались в строку (назв, автор, год) а следующие данные записывались ниже?
Листинг программы
  1. FILE* fp = fopen ("text.txt", "w");
  2. fwrite(&books[0], sizeof(tag_book), 1,fp);
  3. fclose(fp);
  4. for (int j=1; j< N; j++)
  5. {
  6. fp = fopen ("text.txt", "a");
  7. fwrite(&books[j], sizeof(tag_book), 1,fp);
  8. fclose(fp);
  9. }

Решение задачи: «Запись данных в файл в одну строку»

textual
Листинг программы
  1. for (int j=1; j< N; j++)
  2. {
  3. fp = fopen ("carsmy.txt", "ab");
  4. fwrite(&autos[j], sizeof(autos), 1,fp);
  5. fclose(fp);
  6. }

Объяснение кода листинга программы

  1. Создается файл carsmy.txt или открывается уже существующий файл с таким названием в режиме добавления (ab).
  2. В цикле происходит запись данных из массива autos в файл carsmy.txt.
  3. Каждый элемент массива autos записывается в файл целиком, начиная с первого байта и заканчивая последним байтом, потому что функция fwrite записывает данные в файл, как они есть, без изменений.
  4. После записи данных в файл, файл закрывается.
  5. Цикл повторяется для каждого элемента массива autos, начиная со второго и заканчивая N-ым.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы