用c编写一个程序,计算一个文件中的单词总数
Write a program that will count the total number of words in a file in c
我开始学习 C,我必须编写一个程序来计算文件中的字数。我不知道文件的大小,那么如何在不知道大小的情况下声明一个数组呢?我知道 number_of_words
没有给出,但我该怎么办?
(在我的代码中,根据赋值说明,我不应该使用 fgets
或 EOF
)
int main(int argc, char const *argv[]) {
char* word[] = {"/usr/bin/ls", "-1", NULL};
int number_of_words;
int i;
word = malloc (number_of_words * sizeof(char));
FILE* f = fopen (argv[1], "r");
fscanf(f, "%s", &word);
if ( f == NULL) {
return -1;
}
for (i = 0; word[i] != NULL; i++) {
return i;
}
}
对于这类问题,正如我从一些编译器课程中了解到的那样,您应该动态地增长数组——malloc 您选择的起始大小,跟踪如何它已满,realloc 如果它已满。
我赞同Bing Bang 的感觉,教授可能会指导您正确的方向。我发现我的教授很有帮助。
我开始学习 C,我必须编写一个程序来计算文件中的字数。我不知道文件的大小,那么如何在不知道大小的情况下声明一个数组呢?我知道 number_of_words
没有给出,但我该怎么办?
(在我的代码中,根据赋值说明,我不应该使用 fgets
或 EOF
)
int main(int argc, char const *argv[]) {
char* word[] = {"/usr/bin/ls", "-1", NULL};
int number_of_words;
int i;
word = malloc (number_of_words * sizeof(char));
FILE* f = fopen (argv[1], "r");
fscanf(f, "%s", &word);
if ( f == NULL) {
return -1;
}
for (i = 0; word[i] != NULL; i++) {
return i;
}
}
对于这类问题,正如我从一些编译器课程中了解到的那样,您应该动态地增长数组——malloc 您选择的起始大小,跟踪如何它已满,realloc 如果它已满。
我赞同Bing Bang 的感觉,教授可能会指导您正确的方向。我发现我的教授很有帮助。