Найти слово в текстовом файле по заданному шаблону - 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 закрывается
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д