#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *buildingsptr;
int ptr2[8];
buildingsptr=fopen("buildings.txt","r");
fscanf(buildingsptr, "%d", &ptr2);
printf("%d", ptr2);
getch();
return 0;
}
我有一个更大的代码,我发现这部分导致了问题。 “ buildings.txt”文件中包含一些整数,例如24或7,我只想打印文本的第一个数字,但是此代码给了我一个像2293296这样的数字,我是编码的新手,所以我不能解决我的问题,如果您能帮助我,我将不胜感激。 :)
最佳答案
ptr2
是一个数组。您想获取(并打印)其元素之一
fscanf(buildingsptr, "%d", &ptr2[2]); // fetch into the element with index 2
printf("%d", ptr2[2]); // print the value of the element with index 2
但是,您确实应该检查
fscanf()
(以及以前的fopen()
)的返回值,以确保一切正常if (fscanf(buildingsptr, "%d", &ptr2[2]) != 1) {
// there was an error
} else {
printf("%d", ptr2[2]);
}
不要忘记也
fclose()
文件句柄。