Поиск слова в текстовом файле - C (СИ) (148196)
Формулировка задачи:
Почему программа вылетает ? Когда пробую на линуксе, там вообще дамп памяти. Необходимо найти слово в файле, и вывести их количество, сколько раз это слово повторялось.
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char *argv[]){ FILE *mf; char str[100]; char *estr; char *istr; //char *istr1; char strArray[100]; char buf = "hello"; int count; mf=fopen ("C:/Users/User1/Desktop/1.txt","r"); char sep [10]=" "; estr = fgets (str,sizeof(str),mf); if (estr == NULL){ if ( feof (mf) != 0){ } else{ printf("\nError read file\n"); } } fclose(mf); istr = strtok (str,sep); int i=0; int cnt = sizeof(strArray)/sizeof(char); printf("%d\n", cnt); while (istr != NULL) { istr = strtok (NULL,sep); printf("%s\t", istr); if (strcmp(istr, buf)==0) { count++; } return 0; }
Решение задачи: «Поиск слова в текстовом файле»
textual
Листинг программы
istr = strtok (NULL,sep);
Объяснение кода листинга программы
- Входные данные: текстовый файл, который нужно проанализировать
- Строка-разделитель (NULL) инициализируется как пустая строка
- Первая строка в файле считывается в строку
istr
istr
используется как первая строка для функции strtok()- В качестве разделителя используется строка-разделитель (NULL)
- Функция strtok() разбивает
istr
на отдельные слова и возвращает первое слово - Результат сохраняется в переменной
word
word
выводится на экран- Процесс повторяется для следующего слова в файле
- Каждое слово выводится на экран после обработки
- Если достигается конец файла, программа завершается
- В процессе работы программа не обрабатывает ошибки
- В процессе работы программа не обрабатывает специальные символы или форматирование текста
- Программа не обрабатывает повторные пробелы или другие символы-разделители в тексте
- Программа не обрабатывает числа или другие не текстовые данные в файле
- Программа не обрабатывает длинные текстовые файлы, которые могут привести к переполнению буфера
- Программа не обрабатывает случаи, когда файл пуст или не содержит текста для анализа
- Программа не обрабатывает случай, когда файл не может быть открыт или прочитан
- Программа не обрабатывает случай, когда файл содержит некорректный формат данных
- Программа не обрабатывает случай, когда файл слишком большой для загрузки в память
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д