システムプログラミングクラスのために書いているプログラムについて、助けが必要です。これはCであり、Cの経験はほとんどありません。3つのテキストファイルを次の形式でマージする必要があります。
word1
word2
word3
...
wordX
また、3つのファイルすべてから各単語を取得し、それらを2D配列(文字列配列の配列)に入れてから、何らかの並べ替え方法を使用します。
並べ替えのサポートは必要ありませんが、各テキストファイルから単語数を取得する方法や配列に入れる方法がわかりません。
これは、ファイル内の単語を数えるために私が持っている関数です。コンパイルされませんgcc
(おそらく明らかな理由で、しかし私はそれらを知りません)。私も正しい考えを持っていますか?
int countWords(FILE f){
int count = 0;
char ch;
while ((ch = fgetc(f)) != EOF){
if (ch == '\n')
count++;
//return count; originally here, but shouldn't be.
}
return count;
}
編集:私はプログラムの行を数える方法を見つけることができると思っていましたが、アプローチが私がここでやろうとしているものと何か違うかどうかはわかりません。(私はテキストファイルの操作がこれほど上手ではありませんでした。
プログラムのすべての行をカウントするようになりました。私は少しさびていると思います。
#include <stdlib.h>
#include <stdio.h>
int countWords(FILE *f){
int count = 0;
char ch;
while ((ch = fgetc(f)) != EOF){
if (ch == '\n')
count++;
}
return count;
}
int main(void){
int wordCount = 0;
FILE *rFile = fopen("american0.txt", "r");
wordCount += countWords(rFile);
printf("%d", wordCount);
return 0;
}
ポインタのことを忘れてしまいましたFILE *fileName