テキストファイルの単語数をカウントする関数を実装しようとしています。
これが私のこれまでの試みです。
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp;
char word[1000];
int count = 0, i;
int *ptr = NULL;
printf("Enter filename: ");
scanf("%s", word);
fp = fopen(word, "r");
while(fscanf(fp, "%s", word) != EOF) //dynamically allocate contents of the file into word
ptr = (int *)malloc(sizeof(int));
for(i = 0; i < 4000; i++)
{
if(word[i] == ' ')
count++;
}
printf("Total: %d", count);
return 0;
}//main
gcc-を使用してコンパイルすると、「変数' ptr
'が設定されているが使用されていない」などのエラーが発生しますが、ファイルの内容をに動的に割り当てたときに使用したと思いましたword[80]
。
私の単語カウンターに重大な問題があると思います...明らかに200以上の単語がある場合も0を返します。誰かが私を教えてくれませんか?