色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

C語(yǔ)言printf“()”真的會(huì)將輸出發(fā)送到屏幕嗎?

先來(lái)看一下C語(yǔ)言的printf()函數(shù)的實(shí)現(xiàn)源碼,實(shí)際上是調(diào)用的vprintf方法,而vprintf方法又調(diào)用了vfprintf方法,這個(gè)方法是將字符串輸出到標(biāo)準(zhǔn)輸出流stdout里面,與它關(guān)聯(lián)的是一個(gè)FILE對(duì)象,這個(gè)FILE對(duì)象的文件描述符是非負(fù)整數(shù)。

對(duì)于標(biāo)準(zhǔn)輸出stdout來(lái)說(shuō)這個(gè)整數(shù)是1,如果是錯(cuò)誤輸出stderr那就是2,標(biāo)準(zhǔn)輸入stdin為0。默認(rèn)情況下文件描述符0、1、2是和終端關(guān)聯(lián)的,所以我們可以看到屏幕上的結(jié)果。可見(jiàn),printf()并不是將結(jié)果直接發(fā)送到屏幕上的,它是通過(guò)將內(nèi)容輸入到一個(gè)不可見(jiàn)的文件中,這個(gè)文件描述符關(guān)聯(lián)終端進(jìn)行顯示結(jié)果的。如果我們不希望將結(jié)果輸出到終端,那么需要進(jìn)行重定向,即使用>符號(hào)將結(jié)果重定向到一個(gè)文件中。