【发布时间】:2022-05-19 00:21:22
【问题描述】:
我在为我的系统编程课程编写的程序方面需要一些帮助。它是用 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 的指针的事情
【问题讨论】:
-
您能发布您收到的编译器错误消息吗?
-
所以,鉴于每个单词都在不同的行上,您真的想计算行数:对吗?
-
HW3.c:在函数âcountWordsâ中:HW3.c:9:错误:âfgetcâ HW3.c的参数1的类型不兼容:在函数âmainâ中:HW3.c:19:错误:不兼容的类型“countWords” HW3.c:21:3 的参数 1:警告:文件末尾没有换行符
-
是的,我可以数行数
-
我删除了每行之间的空格,因为从你的评论(我也删除了)我知道你不希望他们在那里。
标签: c word-count