Найти слово в текстовом файле по заданному шаблону - C (СИ)
Формулировка задачи:
Здравствуйте! Помогите пожалуйста... Умоляю!!! Уже несколько дней бьюсь над задачкой!
Нужно ввести слово, неизвестные буквы помечать _*нижним подчеркиванием*
. Например:ко_
И вывести все возможные слова с текстового файла. Например:кот код
P.S. В текстовом файле каждое новое слово записано с новой строки. Наброски:
Листинг программы
- #include <stdio.h>
- #include <string.h>
- int main(int argc, char* argv[])
- {
- char word[30], temp[30];
- system("chcp 1251 > nul");
- printf("Введите слово (неизвестные буквы обозначайте знаком подчеркивания _):\n");
- scanf_s("%s", &word, 30);
- //??????????????? Поиск слова в текстовом файле ??????????????
- FILE *f;
- f = fopen("words.txt", "r");
- if(f)
- {
- fclose(f);
- }
- //////////////////////////////////////////////////////////////////////////
- printf("Все возможные слова с вашим запросом (%s):\n", word);
- /*if(
- {
- //printf("%s", word)
- }*/
Решение задачи: «Найти слово в текстовом файле по заданному шаблону»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #define MAXWORDSIZE 30
- int match_template(const char* src, const char* tpl)
- {
- for(; *src == *tpl || *tpl == '_'; src++, tpl++)
- {
- if(*src == '\0')
- return 1;
- }
- return 0;
- }
- int main()
- {
- char buf[MAXWORDSIZE];
- char word[MAXWORDSIZE];
- size_t tsize;
- FILE* fp;
- puts("Введите слово (неизвестные буквы обозначайте знаком подчеркивания _):");
- scanf("%s", word);
- tsize = strlen(word);
- fp = fopen("words.txt", "r");
- printf("Все возможные слова с вашим запросом (%s):\n", word);
- while(fscanf(fp, "%s", buf) > 0)
- {
- if(strlen(buf) != tsize)
- continue;
- if(match_template(buf, word))
- puts(buf);
- }
- fclose(fp);
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется максимальная длина слова в файле words.txt
- Функция match_template ищет соответствие шаблону в тексте
- В функции main считывается слово с помощью сканера
- Открывается файл words.txt для чтения
- Выводится запрос на ввод слова
- Считывается текст из файла words.txt и проверяется на соответствие шаблону
- Если слово соответствует шаблону, оно выводится на экран
- Файл words.txt закрывается
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д