как читать / писать из одного файла в ANSI C 89 - PullRequest
0 голосов
/ 12 ноября 2010

Хороший пример того, что я пытаюсь сделать, можно увидеть в одном из следующих 2 примеров:

чтение из файла char с помощью char, в начале новой строки ставьте префикс строкичисло (или что-то), манипулирующее исходным файлом.

считывание из файла char с помощью char, преобразование верхнего или нижнего или нижнего в верхнее, манипулирование исходным файлом.Я только когда-либо делал это, читая или записывая поток, а не обе операции над одним и тем же файлом (и никогда не возвращаясь назад)

Также кажется, что у меня есть 2 режима работы, вставка и замена.Любое руководство поможет, документация будет еще лучше.(примеры кода, поддерживающие их, будут очень любимы)

1 Ответ

2 голосов
/ 12 ноября 2010

Преобразование регистра на месте довольно тривиально:

  1. Открытие файла для обновления
  2. чтение блока
  3. изменение блока
  4. поиск назадначало блока
  5. запись блока
  6. повтор

Это, однако, работает только потому, что вы оставляете данные одинаковой длины.Добавление номера строки к каждой строке - это совсем другая история.Чтобы сделать это «на месте», вы должны прочитать весь файл, изменить его в памяти, а затем записать все обратно.Если он не помещается в памяти, вам придется изменить его при копировании в другой файл, а затем скопировать его обратно в первый файл или что-то в этом порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...