我已经阅读了很多关于这个的问题,并且使用它们我已经改变了我的代码并创建了我认为可行的代码.
我认为这是我对C的理解,这使我在这里失败,因为我无法看到我出错的地方.
我没有编译错误,但是当我运行时,我从命令提示符接收'FileReader.exe已停止工作'.
我的代码是:
void storeFile(){
int i = 0;
char allWords [45440][25];
FILE *fp = fopen("fileToOpen.txt", "r");
while (i <= 45440){
char buffer[25];
fgets(buffer, 25, fp);
printf("The word read into buffer is : %s",buffer);
strcpy(allWords[i], buffer);
printf("The word in allWords[%d] is : %s", i, allWords[i]);
//allWords[i][strlen(allWords[i])-1] = '\0';
i = i + 1;
}
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
}
文件中有45440行,长度不超过25个字符.我正在尝试将每个单词读入名为buffer的char数组中,然后将该缓冲区存储在名为allWords的char数组数组中.
我试图让这部分工作,然后我重构将数组返回到main方法(我认为这不是一个有趣的体验).
我有一个对象的arraylist无法实现Comparator/Comparable接口.
对象有一个字段:'SequenceNumber',它是一个整数.我需要按照这个字段(从最低到最高)的顺序对arraylist进行排序,而不实现上面提到的接口.
有没有一种简单的方法可以做到这一点,我可以手动编写一个排序算法,但想知道是否有一个更有效(和更多无错误)的方式这样做,我在搜索时错过了?
注意:使用Java 7.