n
newbie.works.with.QT4. März 2019 13:07
как найти конкретную строку в файле (блокнот)
У меня следуйщая задача:
ввожу слово или код в консоль, программка считывает, находит в блокноте нужную строку записывает две переменные:
(1-я ту строку которую мы нашли благодоря слову или коду и
2-я следуйщая сторка после неё)
вот так вот.
у меня есть только проверка есть ли слово или код:
#include <iostream> #include <windows.h> #include <string.h> #include <fstream> using namespace std; int main() { char word[256], line[256], tmp[256]; char *buf = NULL; ifstream file; setlocale(0, ""); cout << "слово для поиска: "; cin.get(word, 256, '\n'); file.open("D:\\TRAN\\Lib6.txt", ios::in); if(!file) { cout<<"нет такого файла!!!!"<<endl; exit(1); } while (!file.eof()) { file.getline(line, 256, '\n'); strcpy(tmp, line); buf = strtok(tmp, " "); if (buf == NULL) { cout << "Ошибка" << endl; file.close(); system("pause"); exit(1); } if (strcmp(buf, word) == 0) { cout << line <<" : найдено совпадение" << endl; system("pause"); exit(0); } } cout << "нет подобных значений" << endl; file.close(); system("pause"); return 0; }
и просто вывод текста:
const int len = 300, strings = 6; const char ch = '\n'; char mass[len][strings]; ifstream fs("D:\\TRAN\\Lib6.txt", ios::in | ios::binary); if(!fs) return 1; for(int r = 0; r<strings; r++) { fs.getline(mass[r], len-1,ch); cout << "String " << r+1 << " = "<< mass[r] << endl; } fs.close();
а вот найти строку по слову, записать в переменную
эту строку и в другую переменную следуйщую строку не знаю как...
кажется двигаюсь не в том направлении :(
помогите пожалуйста.
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.Magst du es? In sozialen Netzwerken teilen!
Kommentare
sf
- sdfsdfkp fgskpgokspdog
- 14. Oktober 2024 15:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Ergebnis:90punkte,
- Bewertungspunkte8
МВ
- Максим Васильев
- 2. Oktober 2024 04:14
Qt - Тест 001. Сигналы и слоты
- Ergebnis:68punkte,
- Bewertungspunkte-1
ЛС
- Лев Семенов
- 30. September 2024 11:04
C++ - Тест 001. Первая программа и типы данных
- Ergebnis:53punkte,
- Bewertungspunkte-4
Letzte Kommentare
Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов5. Oktober 2024 07:51
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5. Februar 2024 01:50
Jetzt im Forum diskutieren
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов3. Oktober 2024 04:05
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
Кирилл Гусарев27. September 2024 09:09
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
Добрый день!
Вы не пробовали использовать std::string для строк?
Это было бы несколько проще для поиска строк, вот примеры для поиска строк в строке std::string
Добрый вечер,
спасибо за ссылку. А для работы нужно весь текст из txt записывать? не получается организовать чтение из файла (не знаю как это сделать)
конечно, нужно считывать
Вот например один из вариантов чтения из файла в одну строку
Большое спасибо!!!!
Только один вопрос: как записать в переменную всю строку сначала (у меня просто получается только кусок) и как записать следуйщую строку?
Вот у меня так получилось:
Мысли насчёт второй строчки таковы:
узнать где переход на следуйщую строку и узнать точку
и записать всё что между ними в переменную (только это в мыслях, а как скомпилировать так ошибки одни)
Что это за кракозябры в коде. Как вообще понять, что вы этим хотите сказать?
У себя код скомпилировал, ну в некоторых случаях там есть выход за пределы массива, если не находит тот же самый Seven.
Не совсем понимаю конкретики вашей проблемы. И ещё перепишите код с использованием фигурных скобок у условий. А то мне кажется, что вы просто не совсем понимаете синтаксис языка. Если фигурный скобок у if нет, то в C++ учитывается в качестве тела условия только одна следующая за if строка, и никакие отступы в данном языке программирования роли не играют.
пример прост: я пишу из консоли переменную string
-Chto chitaesh?
txt:
программа должна выдать:
-knigy.
непонимаю как сказать программе
- все символы после конца строки и до точки запиши в пременную dva
Ну вот так можно написать программу.
Сохранит в вектор все строки, которые оканчиваются на точку. В вашем случае это как раз ответы получаются.
Добрый вечер. Извините, неправильно написал.....
Ну так выводит все строки с точкой, а мне нужно только следуйщую после нашей.
Ну самый такой вариант в лоб, при полном совпадении строки вопроса и учитывая, что следующая строка, которая оканчивается на точку является ответом, можно написать так.
Большооооое спасибо!!!!!
Не передать как я вам благодарен, спасибо что всегда отзываетесь.
Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не програмист, моя специализация - анимация),
( с Ui разобрался (строка ввода с кнопочкой), а вот с блокнотом была проблема, но благодоря вам это уже в прошлом (в эти строчки будут закидываться не просто слова, а путь к Waw файлу))
Спасибо!!!!