Получите все строки файла f, содержащие в качестве фрагмента заданную строку s - C (СИ)
Формулировка задачи:
Листинг программы
- #include <iostream>
- #include <string>
- #include <fstream>
- using namespace std;
- int main(){
- ifstream ff;
- string s;
- string str;
- getline(cin,str);
- ff.open("tr.txt");
- while(!ff.eof()){
- getline(ff,s);
- size_t f=s.find(str);
- if(f!=std::string::npos){
- cout<<s<<endl;
- }
- }
- ff.close();
- return 0;
- }
Решение задачи: «Получите все строки файла f, содержащие в качестве фрагмента заданную строку s»
textual
Листинг программы
- int main()
- {
- FILE *ff;
- char s[1000], str[1000];
- char *f;
- fgets(str, 1000, stdin);
- str[strlen(str) - 1] = '\0';
- ff = fopen("tr.txt", "r");
- while (fgets(s, 1000, ff) != NULL)
- {
- f = strstr(s, str);
- if (f != NULL) printf("%s\n", s);
- }
- fclose(ff);
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Считывание строки s с помощью функции fgets() из стандартного ввода (stdin).
- Передача этой строки в функцию strstr() для поиска ее в каждой строке файла
tr.txt
. - Если строка s содержит строку s, то эта строка выводится на экран с помощью функции printf().
- Функция fclose() закрывает файл после окончания чтения.
- Функция return() завершает выполнение программы.
Этот код ищет строку s в каждой строке файла
tr.txt
и выводит на экран все строки, содержащие эту строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д