현재 각 고유 단어를 찾아 파일에 단어가 나타나는 횟수를 세는 프로그램을 만들려고합니다. 내가 현재 사용자에게 단어를 물어보고 단어가 나타나는 횟수를 파일에서 검색합니다. 그러나 사용자에게 개별 단어를 묻는 대신 파일을 읽는 프로그램이 필요합니다. 파일에서 단어를 읽고 파일에서 해당 단어를 읽는 프로그램
이
내가 현재 가지고있는 것입니다 :#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int num =0;
char word[2000];
char *string;
FILE *in_file = fopen("words.txt", "r");
if (in_file == NULL)
{
printf("Error file missing\n");
exit(-1);
}
scanf("%s",word);
printf("%s\n", word);
while(!feof(in_file))//this loop searches the for the current word
{
fscanf(in_file,"%s",string);
if(!strcmp(string,word))//if match found increment num
num++;
}
printf("we found the word %s in the file %d times\n",word,num);
return 0;
}
난 그냥 (아직가 확인되지 않은 단어) 고유 한 단어 파일을 읽는 방법을 알아내는 도움이 필요하지만 내 프로그램에 대한 다른 제안 감사하겠습니다.
당신은 당신이 본 한 단어의 테이블과 몇 번을 본 적이을 유지해야합니다. C는 이러한 메커니즘을 제공하지 않으므로 직접 만들거나 라이브러리를 사용해야하지만 트리 또는 해시 테이블과 같은 것이 적절할 수 있습니다. – FatalError
제쳐두고,'feof()'를 사용하지 마라. 대신에'fscanf()'의 결과를 확인해야한다. –