Как заменить строку в середине текстового файла в C? - PullRequest
1 голос
/ 23 мая 2011

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

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

Я не открывал ни один из этих файлов с a или a+, я сделал это с r и r+, потому что я хочу заменить информацию в строках, которые могут быть в середине файл, а не в его конце.

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

Как мне решить проблему?

1 Ответ

1 голос
/ 23 мая 2011

Программа может заменить (перезаписать) текст в середине файла. Но вопрос в том, должно ли это быть выполнено.

Чтобы вставить текст большего или меньшего размера (и закрыть пробел), необходимо написать новый текстовый файл. Это при условии, что файл не имеет фиксированной ширины. Основным правилом является копирование всего оригинального текста перед вставкой в ​​новый файл. Напишите новый текст. Наконец напишите оставшийся оригинальный текст. Это много работы и будет тормозить даже самые простые программы.

Я предлагаю вам дизайн ваш макет данных, прежде чем идти дальше. Также рассмотрите возможность использования базы данных, см. Мой пост: В какой момент стоит использовать базу данных?

Ваша цель - спроектировать данные, чтобы минимизировать дублирование и выборку данных.

...