我对C很陌生,我必须从文件中读取数据,我需要将这些数据存储在数组中。我使用FILE *fptr; fptr = fopen(¨filename.txt¨, ¨r¨)
读取文件数据,使用fscanf(fptr,"%d", &num);
获取文件数据,但是在编译时,我似乎只获得了它的内存位置(我想呢?)我用来尝试代码的文件的编号是5368,我得到了6422296)
int (Void) { FILE \*fptr; fptr = fopen("example.txt" , "r"); if ((fptr = fopen("example.txt","r")) == NULL) { printf("Error! opening file"); exit(1); } int num; fscanf(fptr,"%d", &num); printf("VALUE OF NUM IS %d", &num); fclose(fptr); return 0; }
发布于 2022-04-05 21:38:31
这里有一个很小的例子,演示如何将两个数字从filename.txt读取到数组num
中。您需要添加错误处理,如果无法修正大小(LEN
),则可以通过计算文件中的数字来计算它,或者根据需要计算num
数组的大小:
#include <stdio.h>
#define LEN 2
int main() {
FILE *fptr = fopen("./filename.txt", "r");
int num[LEN];
for(int i = 0; i < LEN; i++) {
fscanf(fptr, "%d", num + i);
printf("%d\n", num[i]);
}
fclose(fptr);
}
https://stackoverflow.com/questions/71758610
复制相似问题