Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        3年前关闭。
                                                                                            
                
        
我开始学习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;
    }
}

最佳答案

对于此类问题,据我从一些编译器课程中了解到的那样,您应该动态地增长数组-分配您选择的起始大小,跟踪其大小,并在数组变满时重新分配。

我很喜欢Bing Bang的感觉,教授可能可以引导您朝正确的方向前进。我发现我的教授很有帮助。

关于c - 编写一个程序,该程序将计算c中一个文件中的单词总数。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36231148/

10-11 22:32
查看更多