C 語言標準函數庫分類導覽 - stdio.h fread()

stdio.h 中的 fread() 將檔案的內容寫進陣列或結構中,共需四個參數,第一個參數為陣列或結構的指標,第二個參數為陣列或結構的大小,第三個參數為陣列的元素數量,如果是結構就等同 1 個陣列元素,第四個參數為指向結構 FILE 的指標。



以下程式示範用 fread() 取得檔案中儲存的資料,然後印在螢幕上,這些資料是利用 fwrite() 的程式輸入到檔案中的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>
 
struct addressList {
    char nickname[30];
    int age;
    int sex;
    char relation[30];
};
 
int main(void)
{
    FILE *fPtr;
    struct addressList entry = {"", 0, 0, ""};
     
    fPtr = fopen("address.dat", "rb");
    if (!fPtr) {
        printf("檔案開啟失敗...\n");
        exit(1);
    }
     
    while (!feof(fPtr)) {
        fread(&entry, sizeof(struct addressList), 1, fPtr);
        printf("%s - %d - %s - %s\n", entry.nickname, entry.age, entry.sex ? "m" : "f", entry.relation);
    }
     
    fclose(fPtr);
     
    return 0;
}
 
/* 《程式語言教學誌》的範例程式
    檔名:cfread.c
    功能:示範 stdio.h 中函數 fread() 的使用
    作者:張凱慶
    時間:西元2010年6月 */



編譯後執行,結果如下



您可以繼續參考


沒有留言: