C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 庫函數(shù) fread() 使用方法及示例

C 標(biāo)準(zhǔn)庫 - <stdio.h>

C 庫函數(shù) size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 從給定流 stream 讀取數(shù)據(jù)到 ptr 所指向的數(shù)組中。

聲明

下面是 fread() 函數(shù)的聲明。

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

參數(shù)

  • ptr -- 這是指向帶有最小尺寸 size*nmemb 字節(jié)的內(nèi)存塊的指針。
  • size -- 這是要讀取的每個元素的大小,以字節(jié)為單位。
  • nmemb -- 這是元素的個數(shù),每個元素的大小為 size 字節(jié)。
  • stream -- 這是指向 FILE 對象的指針,該 FILE 對象指定了一個輸入流。

返回值

成功讀取的元素總數(shù)會以 size_t 對象返回,size_t 對象是一個整型數(shù)據(jù)類型。如果總數(shù)與 nmemb 參數(shù)不同,則可能發(fā)生了一個錯誤或者到達(dá)了文件末尾。

在線示例

下面的示例演示了 fread() 函數(shù)的用法。

在線示例

#include <stdio.h>
#include <string.h>
 
int main()
{
   FILE *fp;
   char c[] = "This is nhooo";
   char buffer[20];
 
   /* 打開文件用于讀寫 */
   fp = fopen("file.txt", "w+");
 
   /* 寫入數(shù)據(jù)到文件 */
   fwrite(c, strlen(c) + 1, 1, fp);
 
   /* 查找文件的開頭 */
   fseek(fp, 0, SEEK_SET);
 
   /* 讀取并顯示數(shù)據(jù) */
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);
   
   return(0);
}

讓我們編譯并運行上面的程序,這將創(chuàng)建一個文件 file.txt,然后寫入內(nèi)容 This is nhooo。接下來我們使用 fseek() 函數(shù)來重置寫指針到文件的開頭,文件內(nèi)容如下所示:

This is nhooo

C 標(biāo)準(zhǔn)庫 - <stdio.h>

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清