|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Поиск и замена текста |
|
|
C/C++ - [решено] Поиск и замена текста
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать
Здравствуйте.
Нужна помощь в поиске и замене текста в текстовом файле,желательно готовый пример. Есть текстовый файл с именем "Log.txt" нужно найти и заменить текст который написан после слова "User" - Слово "User" в данном текстовом файле одно. Текст на который мы будем заменять нужно взять из edit,желательно бы не загружать текстовый файл в Memo или прочее компоненты. У меня установлен "C++Builder 2010" C++ учить начал не так давно,если будите что то объяснять пишите по проще так как я в нем пока ноль. За ранее вам благодарен. |
|
Отправлено: 10:38, 15-11-2010 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Simpler, Я написал, но по-дилетантски. Понадобятся компоненты: Edit, Button. Программа грузит файл Log.txt в список TStringList, дальше примитивно обрабатывает и сохраняет результат в файл Test.txt
// Обрабатываем файл по нажатию кнопки--------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { TStringList *lst = new TStringList; // Список, куда мы грузим "Log.txt" TStringList *lstReplace = new TStringList; // Временный список String str = "User"; // Слово которое мы ищем String tempStr; // Формируемая строка в которой найденое слово "User" + текст из Edit lst->LoadFromFile(ExtractFilePath(Application->ExeName) + "Log.txt"); // Загружаем файл for(int i = 0; i < lst->Count; i++){ if(lst->Strings[i].Pos(str)){ for(int j = 0; j < i; j++){ lstReplace->Add(lst->Strings[j]); } tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length()); tempStr += " " + Edit1->Text; lstReplace->Add(tempStr); break; } } lstReplace->SaveToFile(ExtractFilePath(Application->ExeName) + "Test.txt"); delete lst; delete lstReplace; } //--------------------------------------------------------------------------- |
------- Отправлено: 15:40, 15-11-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Спасибо вам большое,у меня только один вопрос.. Как в C++ мне указать путь до файла?
В Delphi "C:\Log.txt" - в C++ написал так же,программа закричала что нет файл рядом с нашим исполняемым файлом. И еще,не могли бы вы дописать проверку? Что бы программа смотрела,если есть.. загружаю. Если нет,напишет что файл отсутствует. За ранее благодарен. |
Отправлено: 22:57, 15-11-2010 | #3 |
Старожил Сообщения: 232
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Simpler:
|
|
------- Отправлено: 07:52, 16-11-2010 | #4 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Спасибо.
С проверкой кто поможет или там можно использовать FileExists - ? Или посоветуйте что почитать а то купил книжку себе а там чушь а не C++ Зря только 500р отдал за нее >_< \\ Странно,почему не получается указать пусть до файла? C:\\Program Files\Programma\test\Test.txt - Выдает ошибку + пусть до файла почему то слитно в ошибке пишет. |
|
Последний раз редактировалось Simpler, 16-11-2010 в 08:19. Отправлено: 08:05, 16-11-2010 | #5 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 08:34, 16-11-2010 | #6 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Синтаксическая ошибка в имени файла,имени папки или метки тома.. Вот такую ошибку получаю.
(Когда файл лежит рядом с программой все нормально,только косяк.. Если к примеру такой текст: User: TEST БЛА-БЛА: TEST то последнюю строчку программа сносит.. >_< И опять же,когда первый раз тестировал код нормально все было. |
Отправлено: 08:44, 16-11-2010 | #7 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Simpler:
Цитата Simpler:
Цитата Simpler:
|
|||
------- Отправлено: 12:54, 17-11-2010 | #8 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Вопрос решен. Большое спасибо "Drongo" за помощь. Чуть позже выложу полный код,может кому он пригодится.
|
Отправлено: 16:41, 17-11-2010 | #9 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Может кто нибудь поможет переписать данный код что бы последнюю строчку программа не сносила?
{У меня кстати тоже ошибка в пути до файла.} Указал путь до папки "C:\\Program Files\\Test.txt" а программа почему то ищет файл рядом с собой. |
Отправлено: 11:43, 29-11-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Поиск и замена текста | ajakzs | Скриптовые языки администрирования Windows | 18 | 08-08-2013 16:10 | |
Поиск текста в txt | Centrinar | AutoIt | 5 | 23-07-2010 19:59 | |
Поиск текста и выполнение действий!!! | Giena22 | AutoIt | 5 | 23-09-2009 20:21 | |
C/C++ - Поиск текста в файлах | student_po | Программирование и базы данных | 6 | 04-09-2009 23:33 | |
Офис и Текст - Замена текста | Котяра | Программное обеспечение Windows | 1 | 29-09-2008 13:51 |
|