从 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);
}
我是 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);
}