商務英語計算機英語

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;

}

猜你喜歡

熱點閱讀

最新文章