Нахождение "отражений" в заданном словаре - C (СИ)
Формулировка задачи:
Нахождение "отражений" в заданном словаре. В задании - вывод результатов на экран и в текстовый файл.
Вот я начал ,а как с файлом несовсем понимаю.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream.h>
#define Path "E:\\111.txt"
int main(void)
{int i,c,flag,b;
char word;
clrscr();
FILE *f;
f=fopen("f:\\111.txt","r");
if(!f)
{puts("\nOsibka otkritia fiile ");
return(1);
}
else
{
c=getc(f);Решение задачи: «Нахождение "отражений" в заданном словаре»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
/*Находит слово str в файле с именем filename*/
int Find_in_file(const char *filename, const char *str)
{
char s[80];
FILE *file;
file = fopen(filename,"r");
if(!file)
{
printf("File don't open\n");
exit(-1);
}
while(!feof(file)) /*Цикл выполняется пока не будет достигнут конец файла*/
{
fscanf(file,"%s", &s); // считываем слово из файла
printf("Naydeno %s\n",&s); // для слежения за ходом поиска, можно удалить
if(!strcmp(s, str)) // если нашли слово
{
printf("slovo naydeno!\n"); // тут выполняешь свои операции со словом
fclose(file);
return 1; // истина - слово найдено
}
}
printf("slovo ni figa ne naydeno!\n");
fclose(file);
return 0; // ложь слово нет совпадений
}
int main(void)
{
char str[80];
printf("Vvedite iskomoe slovo: ");
scanf("%s", &str);
Find_in_file("test.txt", str);
getch();
return 0;
}
Объяснение кода листинга программы
- Находится отражение слова в файле
test.txt. - Программа открывает файл
test.txtдля чтения. - Если файл не открывается, выводится сообщение об ошибке и программа завершается.
- Цикл выполняется до тех пор, пока не достигнет конца файла.
- В каждой итерации цикла считывается слово из файла и проверяется на соответствие искомому слову.
- Если слово соответствует искомому слову, выводится сообщение
slovo naydeno!и выполняются дополнительные операции. - Если слово не соответствует искомому слову, ничего не происходит.
- После завершения цикла выводится сообщение
slovo ni figa ne naydeno!если искомое слово не найдено. - Функция возвращает 1, если слово найдено, и 0, если слово не найдено.
- В функции main() вводится искомое слово и вызывается функция Find_in_file().
- После завершения функции main() программа завершается.