最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C/C++編程筆記:C++中的I / O重定向

2021-01-30 21:32 作者:C語言編程__Plus  | 我要投稿

在C語言中,我們可以使用函數(shù)freopen()將現(xiàn)有的FILE指針重定向到另一個(gè)流。

freopen()的原型為

FILE * freopen(const char *文件名,const char *模式,F(xiàn)ILE * stream);

例如,將標(biāo)準(zhǔn)輸出重定向?yàn)橐粋€(gè)文本文件,我們可以編寫

freopen(“ text_file.txt”,“ w”,stdout);

盡管C ++仍支持此方法,但本文討論了另一種重定向I / O流的方法。


C ++是一種面向?qū)ο蟮木幊陶Z言,它使我們不僅能夠定義自己的流,而且還可以重定向標(biāo)準(zhǔn)流。因此,在C ++中,流是一個(gè)對(duì)象,其行為由類定義。因此,任何表現(xiàn)得像流的東西都是流。

C ++中的Streams對(duì)象主要分為三種類型:

(1)istream:此類型的Stream對(duì)象只能從流中執(zhí)行輸入操作

(2)ostream:這些對(duì)象只能用于輸出操作。

(3)iostream:可用于輸入和輸出操作

所有這些類以及文件流類都從以下類派生:ios和streambuf。因此,文件流和IO流對(duì)象的行為類似。

所有流對(duì)象還具有類streambuf的關(guān)聯(lián)數(shù)據(jù)成員。簡單地說,streambuf對(duì)象是流的緩沖區(qū)。從流中讀取數(shù)據(jù)時(shí),我們不會(huì)直接從源中讀取數(shù)據(jù),而是從鏈接到源的緩沖區(qū)中讀取數(shù)據(jù)。同樣,首先在緩沖區(qū)上執(zhí)行輸出操作,然后在需要時(shí)刷新緩沖區(qū)(將其寫入物理設(shè)備)。

C ++允許我們?yōu)槿魏瘟髟O(shè)置流緩沖區(qū)。因此,重定向流的任務(wù)只是減少到更改與流關(guān)聯(lián)的流緩沖區(qū)。因此,要將流A重定向到流B,我們需要做

獲取A的流緩沖區(qū)并將其存儲(chǔ)在某處

將A的流緩沖區(qū)設(shè)置為B的流緩沖區(qū)

如果需要,將A的流緩沖區(qū)重置為其先前的流緩沖區(qū)

我們可以使用函數(shù)ios :: rdbuf()來執(zhí)行兩次操作。

1)stream_object.rdbuf():返回指向stream_object的流緩沖區(qū)的指針

2)stream_object.rdbuf(streambuf * p):將流緩沖區(qū)設(shè)置為p指向的對(duì)象

這是下面的示例程序以顯示步驟:


注意:

以上步驟可以濃縮為一個(gè)步驟


希望對(duì)你有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:


編程學(xué)習(xí)視頻分享:



C/C++編程筆記:C++中的I / O重定向的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
灵寿县| 涟源市| 大兴区| 丽水市| 沙坪坝区| 邵武市| 建水县| 康平县| 红河县| 彭山县| 林芝县| 隆尧县| 钟山县| 西安市| 金秀| 友谊县| 龙口市| 诸城市| 浦县| 武定县| 广安市| 金堂县| 昌宁县| 贵德县| 察雅县| 井研县| 安仁县| 鹤壁市| 徐汇区| 扶风县| 读书| 高雄县| 乳山市| 襄汾县| 阳山县| 东阿县| 涿鹿县| 如皋市| 辽中县| 马鞍山市| 读书|