真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言fread函數(shù)定義,c語(yǔ)言的fread函數(shù)

關(guān)于C語(yǔ)言fread的用法

簡(jiǎn)介

創(chuàng)新互聯(lián)公司是一家以網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、seo優(yōu)化排名、小程序App開(kāi)發(fā)等移動(dòng)開(kāi)發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都火鍋店設(shè)計(jì)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開(kāi)發(fā)服務(wù)。

fread

能:

從一個(gè)流中讀數(shù)據(jù)

函數(shù)原型:

size_t

fread(

void

*buffer,

size_t

size,

size_t

count,

file

*stream

); 

數(shù):

1.用于接收數(shù)據(jù)的地址(指針)(buffer)

2.單個(gè)元素的大小(size)

:?jiǎn)挝皇亲止?jié)而不是位,例如讀取一個(gè)整型數(shù)就是2個(gè)字節(jié)

3.元素個(gè)數(shù)(count)

4.提供數(shù)據(jù)的文件指針(stream)

返回值:成功讀取的元素個(gè)數(shù)

程序例

#include

int

main(void)

{

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,

strlen(msg)+1,

1,

stream);

/*

seek

to

the

beginning

of

the

file

*/

fseek(stream,

0,

seek_set);

/*

read

the

data

and

display

it

*/

fread(buf,

strlen(msg)+1,

1,stream);

printf("%s\n",

buf);

fclose(stream);

return

0;

}

C語(yǔ)言 fread函數(shù)每次都讀取文件指定個(gè)字符長(zhǎng)度應(yīng)該怎樣定義?

size=sizeof(char);

nitems=4;

其中sizeof(char)==1;

事實(shí)上int fread(void *ptr,int size,int nitems,FILE *stream);

讀取字符數(shù)為size*nitems個(gè)字符

只要有size*nitems==4即可

也就是說(shuō)有

size=1;

nitems=4;

size=2;

nitems=2;

size=4;

nitems=1;

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

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

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

#includestdio.h

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

從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素,每個(gè)元素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ā)生錯(cuò)誤.

從ferror和feof獲取錯(cuò)誤信息或檢測(cè)是否到達(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;i25;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;

}

c語(yǔ)言中fread函數(shù)怎么用

c語(yǔ)言中fread函數(shù)語(yǔ)法為size_t?fread(?void?*restrict?buffer,?size_t?size,?size_t?count,?FILE?*restrict?stream?)。buffer是指向要讀取的數(shù)組中首個(gè)對(duì)象的指針,size是每個(gè)對(duì)象的大?。▎挝皇亲止?jié)),count是要讀取的對(duì)象個(gè)數(shù),stream是輸入流。通過(guò)fread函數(shù)可進(jìn)行數(shù)據(jù)讀取,返回成功讀取的對(duì)象個(gè)數(shù)。

擴(kuò)展資料:

fread函數(shù)從給定輸入流stream讀取最多count個(gè)對(duì)象到數(shù)組buffer中(相當(dāng)于以對(duì)每個(gè)對(duì)象調(diào)用size次fgetc),把buffer當(dāng)作unsignedchar數(shù)組并順序保存結(jié)果。流的文件位置指示器前進(jìn)讀取的字節(jié)數(shù)。

若出現(xiàn)錯(cuò)誤,則流的文件位置指示器的位置不確定。若沒(méi)有完整地讀入最后一個(gè)元素,則其值不確定,可能小于count。若size或count為零,則fread返回零且不進(jìn)行其他動(dòng)作。fread不區(qū)分文件尾和錯(cuò)誤,因此調(diào)用者必須用feof和ferror才能判斷發(fā)生了什么。

fread(&w,4,1,out)是什么意思

編輯本段C語(yǔ)言庫(kù)函數(shù)名:

簡(jiǎn)介

fread 功 能: 從一個(gè)流中讀數(shù)據(jù) 函數(shù)原型: size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);  參 數(shù): 1.用于接收數(shù)據(jù)的地址(指針)(buffer) 2.單個(gè)元素的大?。╯ize) :?jiǎn)挝皇亲止?jié)而不是位,例如讀取一個(gè)int型數(shù)據(jù)就是4個(gè)字節(jié) 3.元素個(gè)數(shù)(count) 4.提供數(shù)據(jù)的文件指針(stream) 返回值:讀取的元素的個(gè)數(shù)

這個(gè)是引用的百度百科里面的內(nèi)容,詳細(xì)地址 是:

還有例子說(shuō)明,詳細(xì)看一下你就會(huì)明白了

c語(yǔ)言文件操作fwrite和fread

fread是C語(yǔ)言標(biāo)準(zhǔn)為中的一個(gè)函數(shù)。它從一個(gè)文件流中讀數(shù)據(jù),最多讀取count個(gè)元素,每個(gè)元素size字節(jié),如果調(diào)用成功返回實(shí)際讀取到的元素個(gè)數(shù),如果不成功或讀到文件末尾返回 0。

fwrite是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中的一個(gè)函數(shù),指向文件寫(xiě)入一個(gè)數(shù)據(jù)塊。示例如下:

//讀取一個(gè)完整的文件

#include?stdio.h

#include?stdlib.h

int?main()

{

FILE*?pFile;???//文件指針

long?lSize;???//?用于文件長(zhǎng)度

char*?buffer;?//?文件緩沖區(qū)指針

size_t?result;??//?返回值是讀取的內(nèi)容數(shù)量

pFile?=?fopen("myfile.bin"?,?"rb");

if?(pFile?==?NULL)?{fputs("File?error",?stderr);?exit(1);}????//?如果文件錯(cuò)誤,退出1

//?獲得文件大小

fseek(pFile?,?0?,?SEEK_END);?//?指針移到文件末位

lSize?=?ftell(pFile);??//?獲得文件長(zhǎng)度

rewind(pFile);??//?函數(shù)rewind()把文件指針移到由stream(流)指定的開(kāi)始處,?同時(shí)清除和流相關(guān)的錯(cuò)誤和EOF標(biāo)記

//?為整個(gè)文件分配內(nèi)存緩沖區(qū)

buffer?=?(char*)?malloc(sizeof(char)?*?lSize);?//?分配緩沖區(qū),按前面的?lSize

if?(buffer?==?NULL)?{fputs("Memory?error",?stderr);?exit(2);}??//?內(nèi)存分配錯(cuò)誤,退出2

//??該文件復(fù)制到緩沖區(qū)

result?=?fread(buffer,?1,?lSize,?pFile);?//?返回值是讀取的內(nèi)容數(shù)量

if?(result?!=?lSize)?{fputs("Reading?error",?stderr);?exit(3);}?//?返回值如果不和文件大小,讀錯(cuò)誤

//?terminate?//?文件終止

fclose(pFile);

free(buffer);

return?0;

}

綜合使用的例子。

#include?stdio.h

int?main()

{

FILE*?pFile;

float?buffer[]?=?{?2.0?,?3.0?,?8.0?};

pFile?=?fopen("myfile.bin"?,?"wb");?//?打開(kāi)文件寫(xiě)操作

fwrite(buffer?,?1?,?sizeof(buffer)?,?pFile);?//?把浮點(diǎn)數(shù)組寫(xiě)到文件?myfile.bin

fclose(pFile);?//?關(guān)閉文件

float?read[3];

pFile?=?fopen("myfile.bin"?,?"rb");?//?重新打開(kāi)文件讀操作

fread(read?,?1?,?sizeof(read)?,?pFile);?//?從文件中讀數(shù)據(jù)

printf("%f\t%f\t%f\n",?read[0],?read[1],?read[2]);

fclose(pFile);?//?關(guān)閉文件

return?0;

}


分享標(biāo)題:c語(yǔ)言fread函數(shù)定義,c語(yǔ)言的fread函數(shù)
當(dāng)前路徑:http://weahome.cn/article/hspeeo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部