温馨提示×

c语言怎么从文件读取数据到数组

小亿
144
2024-01-29 13:08:59
栏目: 编程语言

在C语言中,可以使用文件操作函数来从文件中读取数据到数组中。具体步骤如下:

  1. 打开文件:使用fopen()函数打开文件,并将返回的文件指针保存在一个变量中。例如,可以使用以下代码打开一个名为data.txt的文本文件:
FILE *file = fopen("data.txt", "r");
  1. 检查文件是否成功打开:检查文件指针变量是否为NULL,以确认文件是否成功打开。例如,可以使用以下代码检查文件是否成功打开:
if (file == NULL) {
    printf("File open error\n");
    return;
}
  1. 读取数据到数组:使用适当的循环结构,例如for循环或while循环,以及fscanf()函数逐行读取文件中的数据,并将数据存储到数组中。例如,以下代码将文件中的每一行数据读取到一个大小为n的整型数组中:
int n = 10; // 数组大小
int arr[n]; // 声明数组
int i;

for (i = 0; i < n; i++) {
    fscanf(file, "%d", &arr[i]); // 读取文件中的整数,并存储到数组中
}
  1. 关闭文件:使用fclose()函数关闭文件,以释放文件资源。例如,以下代码关闭文件:
fclose(file);

完整示例代码如下所示:

#include <stdio.h>

int main() {
    FILE *file = fopen("data.txt", "r");
    if (file == NULL) {
        printf("File open error\n");
        return 1;
    }

    int n = 10; // 数组大小
    int arr[n]; // 声明数组
    int i;

    for (i = 0; i < n; i++) {
        fscanf(file, "%d", &arr[i]); // 读取文件中的整数,并存储到数组中
    }

    fclose(file);

    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]); // 打印数组中的数据
    }

    return 0;
}

上述代码将从名为data.txt的文件中读取10个整数,并将它们存储到一个数组中,并将数组中的数据打印出来。请确保文件中的数据与数组大小相匹配,否则可能会导致错误。

0