亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)英語 > 專業(yè)英語 > 計(jì)算機(jī)英語 > c語言fread函數(shù)的用法

      c語言fread函數(shù)的用法

      時(shí)間: 長思709 分享

      c語言fread函數(shù)的用法

        C語言中:fread是一個函數(shù)。從一個文件流中讀數(shù)據(jù),最多讀取count個元素,每個元素size字節(jié),如果調(diào)用成功返回實(shí)際讀取到的元素個數(shù),如果不成功或讀到文件末尾返回 0。下面我們來看看c語言fread函數(shù)的用法。

        fread()函數(shù)---- Reads data from a stream.

        #include<stdio.h>

        size_t fread( void *buffer, size_t size, size_t count,FILE *stream );

        從一個文件流中讀數(shù)據(jù),讀取count個元素,每個元素size字節(jié).如果調(diào)用成功返回count.如果調(diào)用成功則實(shí)際讀取size*count字節(jié)

        buffer的大小至少是 size*count 字節(jié).

        return:

        fread returns the number of full items actually read

        實(shí)際讀取的元素?cái)?shù).如果返回值與count(不是count*size)不相同,則可能文件結(jié)尾或發(fā)生錯誤.

        從ferror和feof獲取錯誤信息或檢測是否到達(dá)文件結(jié)尾.

        DEMO:

        [cpp] view plain#include <stdio.h>

        #include <process.h>

        #include <string.h>

        int main()

        {

        FILE *stream;

        char msg[]="this is a test";

        char buf[20];

        if ((stream=fopen("dummy.fil","w+"))==NULL)

        {

        fprintf(stderr,"cannot open output file.\n");

        return 1;

        }

        /*write some data to the file*/

        fwrite(msg,1,strlen(msg)+1,stream);

        /*seek to the beginning of the file*/

        fseek(stream,0,SEEK_SET);

        /*read the data and display it*/

        fread(buf,1,strlen(msg)+1,stream);

        printf("%s\n",buf);

        fclose(stream);

        system("pause");

        return 0;

        }

        DEMO2

        [cpp] view plainint main(void)

        {

        FILE *stream;

        char list[30];

        int i,numread,numwritten;

        /*open file in text mode:*/

        if ((stream=fopen("fread.out","w+t"))!=NULL)

        {

        for (i=0;i<25;i++)

        {

        list[i]=(char)('z'-i);

        }

        /*write 25 characters to stram*/

        numwritten=fwrite(list,sizeof(char),25,stream);

        printf("Wrote %d items\n",numwritten);

        fclose(stream);

        }

        else

        printf("Problem opening the file\n");

        if ((stream=fopen("fread.out","r+t"))!=NULL)

        {

        numread=fread(list,sizeof(char),25,stream);

        printf("Number of items read =%d\n",numread);

        printf("Contents of buffer=%.25s\n",list);

        fclose(stream);

        }

        else

        {

        printf("File could not be opened\n");

        }

        system("pause");

        return 0;

        }

      512631