我有一个.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的新手......任何提示?
答案 0 :(得分:0)
你有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]);
}