商務英語計算機英語

c語言fread函式的用法

本文已影響 1.77W人 

C語言中:fread是一個函式。從一個檔案流中讀資料,最多讀取count個元素,每個元素size位元組,如果呼叫成功返回實際讀取到的元素個數,如果不成功或讀到檔案末尾返回 0。下面我們來看看c語言fread函式的用法。

ing-bottom: 64.06%;">c語言fread函式的用法

fread()函式---- Reads data from a stream.

#include<stdio.h>

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

從一個檔案流中讀資料,讀取count個元素,每個元素size位元組.如果呼叫成功返回count.如果呼叫成功則實際讀取size*count位元組

buffer的大小至少是 size*count 位元組.

return:

fread returns the number of full items actually read

實際讀取的元素數.如果返回值與count(不是count*size)不相同,則可能檔案結尾或發生錯誤.

從ferror和feof獲取錯誤資訊或檢測是否到達檔案結尾.

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("","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("%sn",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("","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 itemsn",numwritten);

fclose(stream);

}

else

printf("Problem opening the filen");

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

{

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

printf("Number of items read =%dn",numread);

printf("Contents of buffer=%.25sn",list);

fclose(stream);

}

else

{

printf("File could not be openedn");

}

system("pause");

return 0;

}

猜你喜歡

熱點閱讀

最新文章

推薦閱讀