C語言標準庫函數fread用于從文件中讀取數據。
函數原型為:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
參數說明:
ptr
:指向要讀取數據存儲位置的指針;
size
:要讀取的每個數據項的大小(以字節為單位);
count
:要讀取的數據項的個數;
stream
:要讀取的文件指針。
函數返回值為實際成功讀取的數據項個數,如果出現錯誤或到達文件末尾,返回值可能小于count。
以下是一個使用fread函數讀取文件的示例:
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
// 打開文件
fp = fopen("file.txt", "rb");
if (fp == NULL) {
printf("無法打開文件\n");
return 1;
}
// 讀取數據
size_t result = fread(buffer, sizeof(char), sizeof(buffer), fp);
if (result == 0) {
printf("讀取文件失敗\n");
return 1;
}
// 輸出讀取的數據
printf("讀取的數據是:%s\n", buffer);
// 關閉文件
fclose(fp);
return 0;
}
在該示例中,首先通過fopen函數打開一個文件,然后使用fread函數從文件中讀取數據。讀取的數據存儲在buffer數組中,讀取的字節數為sizeof(char) * sizeof(buffer)。
最后,使用printf函數輸出讀取的數據,并使用fclose函數關閉文件。
需要注意的是,使用fread函數讀取二進制文件時,需要使用"rb"模式打開文件;而讀取文本文件時,使用"r"模式即可。