Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
 Аватар для Killan
7 / 7 / 0
Регистрация: 28.09.2009
Сообщений: 52

Поиск строки в файле(txt).

21.03.2012, 10:27. Показов 4806. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется test.txt файл. Внутри файл имеет следующую структуру:
C++
1
2
3
4
5
6
7
8
9
[General]
...
 
[Events]
0,0,"TMNT.jpg"
 
[Difficulty]
...
...
Мне нужно найти и выдернуть в переменную название файла.
В данном случае мне нужно получить внутри переменной TMNT.jpg. Название изображения внутри test.txt может быть абсолютно любым, не изменяется только 0,0, и [Events] (хотя в events могут хранится и другие значения помимо 0,0,"TMNT.jpg")
Подскажите.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2012, 10:27
Ответы с готовыми решениями:

Поиск даты в txt файле
Добро всем! :senor: У меня в txt хранятся данные вот в таком виде: 30.10.2014 Адрес: Автобусный 14 п.2, кв. 15 Телефон: 547896 ...

Поиск в .txt файле без учёта регистра букв
Доброго времени суток! Подскажите, пожалуйста, как реализовать поиск фразы, записаной в edit, в текстовом документе без учёта регистра...

Поиск по символам в txt файле и вывод результатов в StringGrid
Добрый день уважаемые программисты и не.:) В работе над базой данных жильцов столкнулся с двумя проблемами при осуществлении поиска: 1....

3
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
21.03.2012, 12:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    String filename = "test.txt";
    String full_file_name = ExtractFilePath(Application->ExeName) + filename;
    String ret = "";
    if(FileExists(full_file_name))
    {
        TStringList*list = new TStringList;
        list->LoadFromFile(full_file_name);
        if(list->Count > 0)
        {
            for(int i = 0; i < list->Count; i++)
            {
                if(list->Strings[i].Pos("0,0,\"") == 1 &&
                    list->Strings[i][list->Strings[i].Length()] == '"'
                 )
                {
                    ret = list->Strings[i].SubString(6, list->Strings[i].Length());
                    ret = ret.Delete(ret.Length(), 1);
                    Form1->Caption = ret;
                    break;
                }
            }
 
        }
        else
        {
            ShowMessage("empty text file");
        }
        delete list;
        list = NULL;
    }
    else
    {
        ShowMessage("file not found");
    }
}
//---------------------------------------------------------------------------
думал для начала ini использовать, но тут нет секций поэтому, так: простенький парсер

Code
1
2
3
4
5
6
7
8
9
[General]
hgkdjfgsdfg
...
[Events]
0,0,"TMNT.jpg"
93,93,95
x:9,y:87
[Difficulty]
7h87nf54geg54g
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
21.03.2012, 13:18
- и еще такой вариант__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     TStringList *myLi = new TStringList;
     myLi->LoadFromFile("test.txt");
     int i,bb,cc,dd,ee ;
     for (i=0,bb=0,cc=0;i<myLi->Count;i++)  {
       if ((myLi->Strings[i].Pos("vents]"))&&(bb==0)) bb = i;
       if ((myLi->Strings[i].Pos("iffic"))&&(cc==0)) cc = i;
     }
     if ((bb>0)&&(bb<cc))
       for (dd=0,ee=0;bb<=cc;bb++)  {
         for (int k=1;k<=myLi->Strings[bb].Length();k++)  {
           if ((myLi->Strings[bb][k]=='"')&&(dd>0)) ee=k;
           if ((myLi->Strings[bb][k]=='"')&&(dd==0)) dd=k;
         }
         if (ee) break;
       }
     if ((dd>0)&&(dd<ee))
       Label1->Caption = myLi->Strings[bb].SubString(dd+1,(ee-dd-1));
}
1
 Аватар для Killan
7 / 7 / 0
Регистрация: 28.09.2009
Сообщений: 52
21.03.2012, 16:50  [ТС]
Большое спасибо, все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2012, 16:50
Помогаю со студенческими работами здесь

Поиск нужной строки в файле
Как сравнить числа в файле с введенным числом(доход,относительно которого осуществляется поиск)например если введенное число больше числа в...

Поиск и удаление строки в файле
Ребят может помочь с кодом для поиска и удаления строки в файле. Надо реализовать код, так чтобы удалялась определенная строка в фале. ...

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

Поиск слова в файле и возврат номера строки
Нужно найти слово в файле и возвратить номер строки(1,2,3...) на которой это слово встречается

Поиск слова в файле и вывод строки в поле Memo
Помогите написать код для кнопки после нажатия она должна считать даные с компонента Edit, проверить даные в файле и вивести рядок с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru