欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言讀取文件流的相關(guān)函數(shù)用法簡(jiǎn)介

 更新時(shí)間:2015年08月30日 12:12:15   投稿:goldensun  
這篇文章主要介紹了C語(yǔ)言讀取文件流的相關(guān)函數(shù)用法簡(jiǎn)介,包括fread()函數(shù)和feof()函數(shù)的使用,需要的朋友可以參考下

C語(yǔ)言fread()函數(shù):讀文件函數(shù)(從文件流讀取數(shù)據(jù))

頭文件:

#include <stdio.h>

定義函數(shù):

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

函數(shù)說(shuō)明:fread()用來(lái)從文件流中讀取數(shù)據(jù).

參數(shù)stream 為已打開(kāi)的文件指針, 參數(shù)ptr 指向欲存放讀取進(jìn)來(lái)的數(shù)據(jù)空間, 讀取的字符數(shù)以參數(shù)size*nmemb 來(lái)決定. Fread()會(huì)返回實(shí)際讀取到的nmemb 數(shù)目, 如果此值比參數(shù)nmemb 來(lái)得小, 則代表可能讀到了文件的尾或有錯(cuò)誤發(fā)生, 這時(shí)必須用feof()或ferror()來(lái)決定發(fā)生什么情況.

返回值:返回實(shí)際讀取到的nmemb 數(shù)目。

范例

#include <stdio.h>
#define nmemb 3
struct test
{
  char name[20];
  int size;
} s[nmemb];

main()
{
  FILE * stream;
  int i;
  stream = fopen("/tmp/fwrite", "r");
  fread(s, sizeof(struct test), nmemb, stream);
  fclose(stream);
  for(i = 0; i < nmemb; i++)
    printf("name[%d]=%-20s:size[%d]=%d\n", i, s[i].name, i, s[i].size);
}

執(zhí)行

name[0]=Linux! size[0]=6
name[1]=FreeBSD! size[1]=8
name[2]=Windows2000 size[2]=11

C語(yǔ)言feof()函數(shù):檢查文件流是否讀到了文件尾
頭文件:

#include <stdio.h>

定義函數(shù):

int feof(FILE * stream);

函數(shù)說(shuō)明:feof()用來(lái)偵測(cè)是否讀取到了文件尾, 尾數(shù)stream 為fopen()所返回之文件指針. 如果已到文件尾則返回非零值, 其他情況返回0.

返回值:返回非零值代表已到達(dá)文件尾.

相關(guān)文章

  • 一篇文章帶你了解C/C++的回調(diào)函數(shù)

    一篇文章帶你了解C/C++的回調(diào)函數(shù)

    這篇文章主要為大家介紹了C/C++的回調(diào)函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • 在Linux下編譯C或C++程序的教程

    在Linux下編譯C或C++程序的教程

    這篇文章主要介紹了在Linux下編譯C或C++程序的教程,是C/C++入門(mén)學(xué)習(xí)中的必備知識(shí),需要的朋友可以參考下
    2015-07-07
  • C語(yǔ)言函數(shù)指針詳解

    C語(yǔ)言函數(shù)指針詳解

    本文主要介紹 C語(yǔ)言函數(shù)指針的知識(shí),這里整理了詳細(xì)的資料及示例代碼以便大家學(xué)習(xí)參考,有需要學(xué)習(xí)此部分知識(shí)的朋友可以參考下
    2021-09-09
  • 分享C++三種類型new類型的運(yùn)算符使用詳情

    分享C++三種類型new類型的運(yùn)算符使用詳情

    這篇文章主要介紹了C++三種類型new運(yùn)算符的使用詳情,文章基于C++運(yùn)算展開(kāi)主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • C++模板template用法小結(jié)(推薦)

    C++模板template用法小結(jié)(推薦)

    這篇文章主要介紹了C++模板template用法總結(jié) ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn)

    Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn)

    這篇文章主要介紹了Qt基礎(chǔ)開(kāi)發(fā)之QString與QByteArray詳細(xì)用法與區(qū)別及QString QByteArray互轉(zhuǎn),需要的朋友可以參考下
    2020-03-03
  • VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程

    VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程

    這篇文章主要介紹了VSCode與Keil聯(lián)合開(kāi)發(fā)STM32的流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C++設(shè)計(jì)模式中的橋模式你了解嗎

    C++設(shè)計(jì)模式中的橋模式你了解嗎

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式中的橋模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C語(yǔ)言鏈表實(shí)現(xiàn)商品庫(kù)存管理系統(tǒng)

    C語(yǔ)言鏈表實(shí)現(xiàn)商品庫(kù)存管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鏈表實(shí)現(xiàn)商品庫(kù)存管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++精要分析lambda表達(dá)式的使用

    C++精要分析lambda表達(dá)式的使用

    Lambda表達(dá)式是現(xiàn)代C++在C ++ 11和更高版本中的一個(gè)新的語(yǔ)法糖 ,在C++11、C++14、C++17和C++20中Lambda表達(dá)的內(nèi)容還在不斷更新。 lambda表達(dá)式(也稱為lambda函數(shù))是在調(diào)用或作為函數(shù)參數(shù)傳遞的位置處定義匿名函數(shù)對(duì)象的便捷方法
    2022-05-05

最新評(píng)論