当前位置:首页 > 行业动态 > 正文

怎么把文件中的数据写入二维数组中c语言

要将文件中的数据写入二维数组中,可以按照以下步骤进行操作:

1、打开文件:使用C语言中的文件操作函数fopen()来打开文件,该函数需要指定文件名和打开模式作为参数,要打开名为"data.txt"的文件以读取数据,可以使用以下代码:

FILE *file = fopen("data.txt", "r");
if (file == NULL) {
    printf("无法打开文件!
");
    return;
}

2、读取数据:使用循环结构来逐行读取文件中的数据,并将其存储到二维数组中,需要确定二维数组的大小,假设文件中每行有m个数据,总共有n行,则可以使用以下代码声明并初始化二维数组:

int rows = n; // 行数
int cols = m; // 列数
int data[rows][cols]; // 二维数组

使用嵌套的循环结构来逐行读取文件中的数据,并将其存储到二维数组中,可以使用以下代码实现:

for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        fscanf(file, "%d", &data[i][j]); // 读取数据并存储到二维数组中
    }
}

在上述代码中,fscanf()函数用于从文件中读取数据,并将其格式化为整数类型(假设文件中的数据是整数),可以根据实际需求修改数据类型和格式控制符。

3、关闭文件:在完成数据读取后,需要关闭文件以释放资源,可以使用以下代码关闭文件:

fclose(file);

完整的示例代码如下所示:

#include <stdio.h>
int main() {
    FILE *file = fopen("data.txt", "r");
    if (file == NULL) {
        printf("无法打开文件!
");
        return 1;
    }
    int rows = 3; // 行数
    int cols = 4; // 列数
    int data[rows][cols]; // 二维数组
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            fscanf(file, "%d", &data[i][j]); // 读取数据并存储到二维数组中
        }
    }
    // 打印二维数组中的数据(可选)
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%d ", data[i][j]);
        }
        printf("
");
    }
    fclose(file); // 关闭文件
    return 0;
}

以上代码将文件中的数据逐行读取并存储到二维数组data中,你可以根据实际需求对代码进行修改和扩展。

0