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

更新於: 30-Jul-2019

406 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始使用
廣告
© . All rights reserved.