我可以帮助您翻译以下关于编程的内容。这是一篇关于我正在为系统编程课程编写的程序的求助文章。这个程序使用C语言编写,而我对C语言的经验非常有限。我需要将三个格式相同的文本文件合并起来:
我还需要从三个文件中提取每个单词,并将它们放入一个二维数组(字符串数组的数组)中,然后对它们使用某种排序方法。
word1
word2
word3
...
wordX
我还需要从三个文件中提取每个单词,并将它们放入一个二维数组(字符串数组的数组)中,然后对它们使用某种排序方法。
我不需要在排序方面得到帮助,但我不知道如何获取每个文本文件中的单词计数或将它们放入数组中。
这是我用来计算文件中单词数量的函数。它在 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
的指针问题。