C++ 中的 fread() 函式
C/C++ 庫函式 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 從給定的流中讀取資料到 ptr 指向的陣列中。以下是 fread() 函式的宣告。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
下表包含 fread() 引數和說明
| 引數 | 說明 |
|---|---|
| ptr | 這是指向一個記憶體塊的指標,其最小大小為 size*nmemb 位元組。 |
| size | 這是要讀取的每個元素的大小(以位元組為單位)。 |
| nmemb | 這是元素的數量,每個元素的大小為 size 位元組。 |
| stream | 這是指向一個指定輸入流的 FILE 物件的指標。 |
成功讀取的元素總數將作為 size_t 物件返回,這是一個整數資料型別。如果此數字與 nmemb 引數不同,則表示發生了錯誤或達到檔案結尾。
示例程式碼
#include <stdio.h>
#include <string.h>
int main () {
FILE *fp;
char c[] = "this is tutorialspoint";
char buffer[100];
/* Open file for both reading and writing */
fp = fopen("file.txt", "w+");
/* Write data to the file */
fwrite(c, strlen(c) + 1, 1, fp);
/* Seek to the beginning of the file */
fseek(fp, 0, SEEK_SET);
/* Read and display data */
fread(buffer, strlen(c)+1, 1, fp);
printf("%s\n", buffer);
fclose(fp);
return(0);
}讓我們編譯並執行上述程式,該程式將建立一個名為 file.txt 的檔案,並寫入內容 this is tutorialspoint。然後,我們使用 fseek() 函式將寫入指標重置到檔案開頭,並準備如下所示的檔案內容 −
輸出
this is tutorialspoint
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP