![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| _IGOR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 9.3.2003 Репутация: нет Всего: нет |
Имеется Некий Файл –допустим test.txt в котором записаны строчки:
Строка1 Строка2 Строка3 Требуется вместо “Строка1” написать – “Новая Строка!” Чтобы это сделать надо 1. найти в тексте (ЭТО я СДЕЛАЛ) надпись Строка2 2. Удалить надпись Строка2 3. Написать -“Новая Строка!” Есть ли стандартные классы(в MFC) или функции в Win32Api, чтобы реализовать последние 2-ва пункта!( А то не очень хочется создавать временный файл и писать туда) P.S в Сfile-ничего похожего не нашел! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Нет таких классов.
|
|||
|
||||
| _IGOR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 9.3.2003 Репутация: нет Всего: нет |
Откровенно говоря - хреново! (Самому писать лень , но придется) Ладно .... через 30 минут будут |
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
тебе на надо удалять строку2, если ты переместишь на нее "указатель файла", каким-нибудь сиком, и запишешь новая строка, то старая сотрется сама посебе.
В общем там работает режим замены а не вставки -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| _IGOR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 9.3.2003 Репутация: нет Всего: нет |
Это конечно верно, но естьодно но почему я так не сделл. Если строки разного размера то сотрется еще и часть следующей строки. |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Вот поэтому нет классов поддерживающих подобные операции. Чем чаще ты будешь делать замены, тем больше будет нагрузка на винчестер. Гораздо проше один раз заменить все вхождения и записать новый файл вместо старого.
|
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
Для чего тебе нужен этот код.
Файл ты формируешь программно или он ужеимеется. Если, ты его формируешь сам, можно все строки подогнать до одинакового размера тогда такая проблема отпадает сама собой -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
попробуж нажти строку2 а птом ка эе наждеш так эе удаляж и записываж новую я имею в виду даваж ту строку што наждеш до стринг иwсе бы должно быт хорошо а искат можеш методом сравнения букв построчно... типа сравниваэш заданоэ слово со словом написаном в фаиле
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |