从 C 中的 .txt 文件获取数据

Getting data from a .txt file in C

我是 C 的新手,我必须从文件中读取数据,并且我需要将该数据存储在数组中。我正在使用 FILE *fptr; fptr = fopen(¨filename.txt¨, ¨r¨) 读取文件数据并使用 fscanf(fptr,"%d", &num); 获取文件数据,但是在编译时我似乎只获取它的内存位置 (我想?文件我是用于尝试代码的编号为 5368,我得到 6422296)

int main(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;
    }

这里是一个最小的例子,演示了从 filename.txt 中读取几个数字到数组 num 中。您需要添加错误处理,如果您无法修复大小 (LEN),则要么通过计算文件中数字的大小来计算它,要么 realloc 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);
}