Как сделать этот код подсчета количества встречаемости слова в файле лучше?
Я пытаюсь написать код, чтобы найти число встречаемости слова в файле. По некоторым причинам мой код не работает должным образом. Как новичок, я хотел бы получить некоторую помощь. Большое спасибо!!
Что я уже пробовал:
#include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> int main(){ FILE *fptr,*ptr; int l,i=0,count=0,total=0; char name[50],n,word[25],k; printf("\nEnter the file name:"); scanf("%s",name); printf("\nEnter the word to be found:"); fgets(word,25,stdin); l=strlen(word); fptr=fopen(name,"r"); if(fptr==NULL){ printf("\nProblem with opening the file"); exit(1); } n=fgetc(fptr); while(!(feof(fptr))){ if(n==toupper(word[i])||n==tolower(word[i])){ count++; if(count==1){ ptr=fptr; } i++; } else if(n!=word[i]){ if(count>1){ fptr=ptr; } count=0; i=0; } if(count==l){ total++; count=0; i=0; } n=fgetc(fptr); } }
Patrice T
Определите "мой код не работает должным образом"
Garth J Lancaster
Не могли бы вы подробнее рассказать о том, что "мой код не работает должным образом" ... что он делает .. кроме того, ваш код не имеет комментариев - комментирующий код полезен по двум причинам - он позволяет другим узнать, каковы ваши намерения, и, комментируя, Вы читаете то, что написали, и видите, имеет ли это смысл
Кроме того - мы ничего не знаем о формате вашего входного файла - это одно слово на строку, или предложения, или ?? есть более быстрые способы прочитать файл, если он содержит одно слово в строке, и вы можете избежать чтения символов по символам