Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Удалить строку в текстовом файле


Автор: Alexey91 14.11.2011, 17:52
Здравствуйте!

Есть файл расширения txt.
Есть ли способ удалить в нем определенную строку, или хотя бы определенный символ средствами языка.
Или только считать данные из файла, но без определенной строки в другой файл, а старый удалить

Автор: newbee 14.11.2011, 18:54
Читай спереди (за удаляемым фрагментом), записывай сзади (перед удаляемым фрагментом). Потом усекай файл на длину удаляемого фрагмента в байтах.

Автор: borisbn 14.11.2011, 19:49
newbee, как-то сложно... да и размер строк неизвестен.

Цитата(Alexey91 @  14.11.2011,  17:52 Найти цитируемый пост)
Или только считать данные из файла, но без определенной строки в другой файл, а старый удалить

Я бы, честно говоря, не стал всё усложнять, а сделал бы в точности, как ты написал. Кста, возможно в линуксе это можно сделать утилитами без программирования на Си (какой нибудь cat, grep и иже с ними)

Автор: newbee 14.11.2011, 20:21
Цитата(borisbn @  14.11.2011,  20:49 Найти цитируемый пост)
как-то сложно... да и размер строк неизвестен.
Что сложного? Зачем знать размер строк? Это стандартный подход, аналогично работе с памятью, когда из середины буфера нужно что-нибудь вырезать.

Добавлено через 43 секунды
Хм. Стоп. Или нужно удалить все вхождения заданной строки "строка строка"?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)