cout 標(biāo)準(zhǔn)輸出流 對(duì)應(yīng)設(shè)備為屏幕,也可以被重定向輸出到磁盤文件。經(jīng)過緩沖區(qū),緩沖區(qū)滿后或遇到endl時(shí)向顯時(shí)器輸出。
cerr 標(biāo)準(zhǔn)錯(cuò)誤流 對(duì)應(yīng)設(shè)備為屏幕,不經(jīng)過緩沖區(qū),直接向屏幕輸出有關(guān)信息。 clog 標(biāo)準(zhǔn)錯(cuò)誤流 對(duì)應(yīng)設(shè)備為屏幕。經(jīng)過緩沖區(qū),緩沖區(qū)滿后或遇到endl時(shí)向顯時(shí)器輸出。 ==================================================================== ●cout clog 經(jīng)過緩沖區(qū),cerr不經(jīng)過; ●輸出位置默認(rèn)都為屏幕,
重定向 cout 可執(zhí)行程序 > 1.txt 或者 可執(zhí)行程序 1> 1.txt cerr clog 可執(zhí)行程序 2> 1.txt
可執(zhí)行程序 1>1.txt 2>&1 cout cerr clog輸出到一個(gè)文件。 ==================================================================== 1.cout流
cout是console
output的縮寫。cout不是c++預(yù)定義的關(guān)鍵字,它是ostream流類的對(duì)象,在iostream中定義。
cout流在內(nèi)存中對(duì)應(yīng)開辟了一個(gè)緩沖區(qū),用來存放流的數(shù)據(jù),當(dāng)向cout流插入一個(gè)endl時(shí),
不論緩沖區(qū)是否已滿,都立即輸出流中所有數(shù)據(jù),然后插入一個(gè)換行符。
在iostream中只對(duì) << 和
>>運(yùn)算符用于標(biāo)準(zhǔn)類型數(shù)據(jù)的輸入和輸出進(jìn)行了重載。
用戶自定義的類型數(shù)據(jù)輸入和輸出需要自己定義重載。
cout 流通常是傳送到顯示器輸出,但也可以被重定向輸出到磁盤文件。
2.cerr流
cerr流是標(biāo)準(zhǔn)錯(cuò)誤流,被指定與顯示器關(guān)聯(lián)。
不經(jīng)過緩沖區(qū),直接輸出給屏幕。
cout 流通常是傳送到顯示器輸出,但也可以被重定向輸出到磁盤文件。
而cerr流中的信息只能在顯示器輸出。
3.clog流對(duì)象
clog流對(duì)象也是標(biāo)準(zhǔn)錯(cuò)誤流,它是console log的縮寫。它的作用和cerr相同,都是在終端顯示器上顯示出錯(cuò)信息。
它們之間只有一個(gè)微小的區(qū)別:cerr是不經(jīng)過緩沖區(qū),直接向顯示器上輸出有關(guān)信息,而clog中的信息存放在緩沖區(qū)中,緩沖區(qū)滿后或遇到endl時(shí)向顯時(shí)器輸出。
|