我的目标是读取一个文件,并将该文件中的每个元素保存到一个新数组中。
rewind(fp); ii = 0; while (!feof(fp)) {
ii ++;
fscanf(fp, "%s\n", filename_i);
fp_i = fopen(filename_i, "r");
if (fp_i == NULL) {
fprintf(stderr, "can't open input file %s \n", filename_i);
exit(1);
}
filename_ii[ii] = filename_i;
printf("%s, %d\n", filename_ii[ii],ii);
fclose(fp_i);
}
printf("a %s %d\n",filename_ii[9],DataSize[2]);
printf("a %s %d\n",filename_ii[1],DataSize[2]);
在 while() 函数中,我的输出是每个元素,但我不知道为什么最后两个 printf() 返回相同的结果,即似乎 filename_ii[1] 和 filename_ii[9] 都指向最后一个元素文件。有人知道我的代码出了什么问题吗?谢谢~