读取txt文件中的数字列表并以C格式存储到数组中

我有一个整数列表,每行一个数字,并希望将这些数字存储在一个整数数组中,以便稍后在程序中使用。

例如在java中你会做这样的事情:

FileReader file = new FileReader("Integers.txt"); int[] integers = new int [100]; int i=0; while(input.hasNext()) { integers[i] = input.nextInt(); i++; } input.close(); 

如何在C中完成?

放手一搏。 如果你阅读每个函数的手册页(fopen(),scanf(),fclose())以及如何在C中分配数组,你会好得多。你还应该为此添加错误检查。 例如,如果Integers.txt不存在或您没有从中读取的权限会发生什么? 如果文本文件包含超过100个数字呢?

  FILE *file = fopen("Integers.txt", "r"); int integers[100]; int i=0; int num; while(fscanf(file, "%d", &num) > 0) { integers[i] = num; i++; } fclose(file); 
 #include  int main (int argc, char *argv[]) { FILE *fp; int integers[100]; int value; int i = -1; /* EDIT have i start at -1 :) */ if ((fp = fopen ("Integers.txt", "r")) == NULL) return 1; while (!feof (fp) && fscanf (fp, "%d", &value) && i++ < 100 ) integers[i] = value; fclose (fp); return 0; }