c語言怎么從文件讀取數(shù)據(jù)到數(shù)組

小億
442
2024-01-29 13:08:59
欄目: 編程語言

在C語言中,可以使用文件操作函數(shù)來從文件中讀取數(shù)據(jù)到數(shù)組中。具體步驟如下:

  1. 打開文件:使用fopen()函數(shù)打開文件,并將返回的文件指針保存在一個(gè)變量中。例如,可以使用以下代碼打開一個(gè)名為data.txt的文本文件:
FILE *file = fopen("data.txt", "r");
  1. 檢查文件是否成功打開:檢查文件指針變量是否為NULL,以確認(rèn)文件是否成功打開。例如,可以使用以下代碼檢查文件是否成功打開:
if (file == NULL) {
    printf("File open error\n");
    return;
}
  1. 讀取數(shù)據(jù)到數(shù)組:使用適當(dāng)?shù)难h(huán)結(jié)構(gòu),例如for循環(huán)或while循環(huán),以及fscanf()函數(shù)逐行讀取文件中的數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)到數(shù)組中。例如,以下代碼將文件中的每一行數(shù)據(jù)讀取到一個(gè)大小為n的整型數(shù)組中:
int n = 10; // 數(shù)組大小
int arr[n]; // 聲明數(shù)組
int i;

for (i = 0; i < n; i++) {
    fscanf(file, "%d", &arr[i]); // 讀取文件中的整數(shù),并存儲(chǔ)到數(shù)組中
}
  1. 關(guān)閉文件:使用fclose()函數(shù)關(guān)閉文件,以釋放文件資源。例如,以下代碼關(guān)閉文件:
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; // 數(shù)組大小
    int arr[n]; // 聲明數(shù)組
    int i;

    for (i = 0; i < n; i++) {
        fscanf(file, "%d", &arr[i]); // 讀取文件中的整數(shù),并存儲(chǔ)到數(shù)組中
    }

    fclose(file);

    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]); // 打印數(shù)組中的數(shù)據(jù)
    }

    return 0;
}

上述代碼將從名為data.txt的文件中讀取10個(gè)整數(shù),并將它們存儲(chǔ)到一個(gè)數(shù)組中,并將數(shù)組中的數(shù)據(jù)打印出來。請(qǐng)確保文件中的數(shù)據(jù)與數(shù)組大小相匹配,否則可能會(huì)導(dǎo)致錯(cuò)誤。

0