编写一个程序,用于计算c

时间:2016-03-26 02:58:13

标签: c arrays memory-leaks word-count

我开始学习C,我必须编写一个程序来计算文件中的单词数。我不知道文件的大小,所以如何在不知道大小的情况下声明数组呢?我知道number_of_words没有给出,但我该怎么办? (在我的代码中,根据分配说明,我不应该使用fgetsEOF

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;
    }
}

1 个答案:

答案 0 :(得分:0)

对于这类问题,正如我从一些编译器课程中理解的那样,你应该动态地增加你的数组 - malloc 你选择的起始大小,跟踪它是多少,以及 realloc 如果它已满。

我赞同Bing Bang的感觉,教授可以指导你朝着正确的方向前进。我发现我的教授很有帮助。