以下程式示範用 fread() 取得檔案中儲存的資料,然後印在螢幕上,這些資料是利用 fwrite() 的程式輸入到檔案中的
#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;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:cfread.c
功能:示範 stdio.h 中函數 fread() 的使用
作者:張凱慶
時間:西元2010年6月 */編譯後執行,結果如下

您可以繼續參考
輸出與輸入 stdio.h
- int getchar(void);
- char *gets(char *s);
- int putchar(int c);
- int puts(const char *s);
- int printf(const char *format, ...);
- int sprintf(char *s, const char *format, ...);
- int scanf(const char *format, ...);
- int sscanf(char *s, const char *format, ...);
- FILE *fopen(const char *filename, const char *mode);
- FILE *freopen(const char *filename, const char *mode, FILE *stream);
- int fflush(FILE *stream);
- int fclose(FILE *stream);
- int remove(const char *filename);
- int rename(const char *oldname, const char *newname);
- int fprintf(FILE *stream, const char *format, ...);
- int fscanf(FILE *stream, const char *format, ...);
- int fgetc(FILE *stream);
- char *fgets(char *s, int n, FILE *stream);
- int fputs(const char *s, FILE *stream);
- int fputs(const char *s, FILE *stream);
- size_t fread(void *ptr, size_t size, siz_t nobj, FILE *stream)
- size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream)
- int fseek(FILE *stream, long offset, int origin);
- long ftell(FILE *stream);
- void rewind(FILE *stream);
沒有留言:
張貼留言