第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

fread如何真正起作用?

fread如何真正起作用?

C
慕碼人2483693 2019-10-17 10:54:29
的聲明fread如下:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);問(wèn)題是:兩次這樣的調(diào)用的閱讀性能是否有所不同fread:char a[1000];fread(a, 1, 1000, stdin);fread(a, 1000, 1, stdin);會(huì)一次讀取一次1000字節(jié)嗎?
查看完整描述

3 回答

?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

性能可能有差異,也可能沒(méi)有差異。語(yǔ)義上有所不同。


fread(a, 1, 1000, stdin);

嘗試讀取1000個(gè)數(shù)據(jù)元素,每個(gè)元素長(zhǎng)1個(gè)字節(jié)。


fread(a, 1000, 1, stdin);

嘗試讀取1個(gè)1000字節(jié)長(zhǎng)的數(shù)據(jù)元素。


它們不同,因?yàn)閒read()返回的是它能夠讀取的數(shù)據(jù)元素的數(shù)量,而不是字節(jié)的數(shù)量。如果在讀取完整的1000個(gè)字節(jié)之前到達(dá)文件末尾(或錯(cuò)誤狀態(tài)),則第一個(gè)版本必須確切指出讀取的字節(jié)數(shù);第二個(gè)只是失敗并返回0。


實(shí)際上,它可能只是調(diào)用一個(gè)較低級(jí)別的函數(shù),該函數(shù)嘗試讀取1000個(gè)字節(jié)并指示實(shí)際讀取了多少個(gè)字節(jié)。對(duì)于較大的讀取,它可能會(huì)發(fā)出多個(gè)較低級(jí)別的調(diào)用。要返回的值的計(jì)算fread()方法不同,但是計(jì)算費(fèi)用微不足道。


如果實(shí)現(xiàn)能夠在嘗試讀取數(shù)據(jù)之前告訴您沒(méi)有足夠的數(shù)據(jù)可讀取,則可能會(huì)有所不同。例如,如果您正在讀取900字節(jié)的文件,則第一個(gè)版本將讀取所有900字節(jié)并返回900,而第二個(gè)版本可能不會(huì)費(fèi)心地讀取任何內(nèi)容。在這兩種情況下,文件位置指示符都會(huì)成功讀取成功的字符數(shù),即900。


但是通常,您可能應(yīng)該根據(jù)需要的信息來(lái)選擇如何調(diào)用它。如果部分讀取并不比完全不讀取任何數(shù)據(jù)更好,則讀取一個(gè)數(shù)據(jù)元素。如果部分讀取很有用,則以較小的塊讀取。


查看完整回答
反對(duì) 回復(fù) 2019-10-17
?
交互式愛(ài)情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

根據(jù)規(guī)范,兩者的實(shí)現(xiàn)方式可能會(huì)有所不同。


如果您的文件少于1000個(gè)字節(jié),fread(a, 1, 1000, stdin)(讀取1000個(gè)元素,每個(gè)元素1個(gè)字節(jié))仍將復(fù)制所有字節(jié),直到EOF。另一方面,未指定fread(a, 1000, 1, stdin)存儲(chǔ)(讀取1個(gè)1000字節(jié)元素)的結(jié)果a,因?yàn)闆](méi)有足夠的數(shù)據(jù)來(lái)完成對(duì)“第一個(gè)”(也是唯一的)1000字節(jié)元素的讀取。


當(dāng)然,某些實(shí)現(xiàn)可能仍會(huì)根據(jù)需要將“ partial”元素復(fù)制到任意多個(gè)字節(jié)中。


查看完整回答
反對(duì) 回復(fù) 2019-10-17
  • 3 回答
  • 0 關(guān)注
  • 535 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)