imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 25.05.2008, 21:30     # 1
Spy_John
Guest
 
Сообщения: n/a

Unhappy Задача со строками(С++)

Здравствуйте!

Помогите решить задачку на С++. Суть задачи такова: "Удалить из текстового файла заданное слово(например word)"

Задачка вроде простенькая, но не могу сообразить. Заранее спасибо!
 
Старый 26.05.2008, 03:08     # 2
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Что именно не получается-то? Имя файла откуда должно браться? Слово? Результат куда? Удалять все или первое, последнее, центральное?

Вы того, начните делать, потом запостите код, и напишите что именно не понятно/не получается.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 26.05.2008, 09:13     # 3
doro
Full Member
 
Аватар для doro
 
Регистрация: 30.04.2002
Сообщения: 1 419

doro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собойdoro Имеются все основания чтобы гордиться собой
Spy_John
Первое что пришло в голову: считываешь текст в контейнер (хоть string, хоть вектор) а потом удаляешь по своей маске.
А. вообще конечно, код твой бы увидеть надо.
doro вне форума  
Старый 01.06.2008, 17:41     # 4
Voland25
Junior Member
 
Регистрация: 28.11.2003
Адрес: Израиль
Пол: Male
Сообщения: 67

Voland25 МолодецVoland25 МолодецVoland25 Молодец
Ну , если так вот навскидку... Для простоты предположим что будем читать из файла А, а результат писать в файл Б, таким образом в Б будет содержание файла А без данного слова....

Да, кстати, текстовый файл - это сильно сказано. Там как, все одной строкой? Или будут переносы и прочие усложнения?

1 - Выделяем буфер на N-ное кол-во байтов.
2 - В цикле "do - while" по условию "!EOF":
2.1 - читаем из файла количество байт, равное длине буфера - величина из п. 2.3, пишем в буфер на офсет, равный тоже величине из пункта 2.3 (пока все величины = 0, поэтому запишем все правильно)
2.2 - В цикле "for" сначала и до конца буфера, при условии "настоящая позиция + длина слова < длина буфера":
2.2.1 - ставим указатель на начало буфера
2.2.2 - ищем первое появление заданного слова, запоминаем позицию
2.2.3 - записываем в выходной файл от указателя в п. 2.2.1 до найденной позиции, прыгаем вперед на длину искомого слова.
2.2.4 - сдвигаем указатель из п. 2.2.1 на настоящую позицию
2.3 если позиция не равна длине буфера, списываем оставшийся кусочек в начало буфера, запоминаем длину (длина буфера - наст. позиция)
Это так, просто чтоб порядок в голове сделать. Если надо более серьезно - точную задачу в студию.
__________________
"Inter arma leges silent" - "молчат законы при звоне оружия"

Последний раз редактировалось Voland25; 01.06.2008 в 17:47.
Voland25 вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:38.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.