我有一个.txt文件,用来学习一些基本的C。
以下是txt文件:
8
12 48 15 65 16 82 9 72
代码如下:
int main(int argc, char** argv){
int num;
int arr[100000];
int index = 0;
int size = 0;
if (argc != 2){
return 0;
}
FILE *inputFile = fopen(argv[1], "r");
if (inputFile == NULL){
printf("Error1\n");
return 0;
}
/* while(!feof(inputFile)){
num = fgetc(inputFile);
if(isdigit(num)){
num = num - '0';=
printf("%c\n",num);
}
}*/
while(fscanf(inputFile, " %d", &num) == 1){
arr[index] = num;
index++;
}
size = arr[0];
int * list = (int*)malloc(sizeof(int)*size);
int i;
for(i = 1; i <= size; i++){
list[i-1]=arr[i];
printf("%d\n", list[i]);
}
if(!feof(inputFile)){
printf("error");
return 0;
}
}
我正在寻找malloc数组,但我一直得到0,0,0,0,0。。。。。怎么了?我想也许我的书面陈述是错的,但我对C。。有什么小窍门吗?
最佳答案
你有9件东西,不是8件
size = arr[0];
//printf("size %d %d\n", size,index);
int * list = (int*)malloc(sizeof(int)*(index));
int i;
for(i = 1; i <= index; i++){
list[i-1]=arr[i-1];
printf("%d\n", list[i-1]);
}