7.6錯(cuò)誤處理

其實(shí)這節(jié)沒啥說(shuō)的,就是函數(shù)調(diào)用,把printf改成了fprintf.
反正這節(jié)沒什么內(nèi)容把一個(gè)小題放這里吧.

我們知道,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤默認(rèn)都是將信息輸出到終端上,那么他們有什么區(qū)別呢?讓我們來(lái)看個(gè)題目:

問(wèn)題:下面程序的輸出是什么?(intel筆試2011)

int main(){
fprintf(stdout,"Hello ");
fprintf(stderr,"World!");
return0;
}

解答:這段代碼的輸出是什么呢?你可以快速的將代碼敲入你電腦上(當(dāng)然,拷貝更快),然后發(fā)現(xiàn)輸出是

World!Hello

這是為什么呢?在默認(rèn)情況下,stdout是行緩沖的,他的輸出會(huì)放在一個(gè)buffer里面,只有到換行的時(shí)候,才會(huì)輸出到屏幕。而stderr是無(wú)緩沖的,會(huì)直接輸出,舉例來(lái)說(shuō)就是printf(stdout, "xxxx") 和 printf(stdout, "xxxx\n"),前者會(huì)憋住,直到遇到新行才會(huì)一起輸出。而printf(stderr, "xxxxx"),不管有么有\(zhòng)n,都輸出。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容