• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語(yǔ)默心酸。二十光陰無(wú)一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

            istringstream類(lèi)研究

            C++程序把輸入和輸出看作字符流,輸入時(shí),程序從輸入流中提取字節(jié),輸出時(shí),程序把字節(jié)插入到輸出流中。對(duì)于輸入輸出流既可以來(lái)自標(biāo)準(zhǔn)輸入輸出設(shè)備,也可以來(lái)自文件,甚至可以來(lái)自String對(duì)象,三者分別屬于iostream family、fstream family、sstream family。
            對(duì)于iostream類(lèi),就是我們通常所說(shuō)的標(biāo)準(zhǔn)流,它把程序跟標(biāo)準(zhǔn)I/O連接在一起,輸入來(lái)自鍵盤(pán),輸出送往監(jiān)視器。
            對(duì)于fstream類(lèi),它把程序跟文件關(guān)聯(lián)起來(lái),輸入來(lái)自文件,輸出到文件。
            對(duì)于sstream類(lèi),它是提供程序和string對(duì)象之間的I/O,可通過(guò)ostringstream sout和istringstream sin來(lái)聲明兩個(gè)對(duì)象,分別對(duì)應(yīng)輸出流和輸入流,這給編程帶來(lái)極大的方便,例如可以從文本文件中讀取一批數(shù)字字符到string對(duì)象中,再把string對(duì)象作為程序的輸入流,既可把從文件中讀取來(lái)的數(shù)字字符單個(gè)進(jìn)行讀取,從而進(jìn)行處理。

            以上內(nèi)容為網(wǎng)上轉(zhuǎn)載,呵呵,原來(lái)iostream,fstream還有sstream呈三權(quán)分立之勢(shì)。

            #include<iostream>
            #include
            <fstream>
            #include
            <sstream>

            using namespace std;


            int main ()
            {
                
            char str[1000]="12 34.53 【O(∩_∩)O~(*^__^*)】 1234 12.12345678901234567890 #@$#@$#@$&*@#&#(!@#$";    
                istringstream test(str);
                
            //test="12 34.53 345342 34.123456789 【O(∩_∩)O~(*^__^*)】"
                int a;
                
            double b;
                
            char c[100];
                
            while(1)
                
            {
                    test
            >>a;
                    test
            >>b;
                    test
            >>c;
                }

            return 0;
            }



            以上程序在vc6.0上運(yùn)行正常;
            值得一提的是,經(jīng)過(guò)我的測(cè)試,我發(fā)現(xiàn)雖然sstream是純c++的東西,但是它也可以用char型數(shù)組進(jìn)行初始化;
            而且輸入的數(shù)據(jù)默認(rèn)情況下以空格為分隔符;
            輸入浮點(diǎn)類(lèi)型的時(shí)候,最多只能取到小數(shù)點(diǎn)后15位,第15位會(huì)進(jìn)行四舍五入;
            如果你的輸入格式和數(shù)據(jù)流格式不匹配,那么將導(dǎo)致程序完全運(yùn)行錯(cuò)誤,不過(guò)我很奇怪c++內(nèi)部為什么不會(huì)報(bào)錯(cuò)?
            只有一種情況例外
            對(duì)于一個(gè)浮點(diǎn)數(shù) 比如說(shuō)123,456
            如果先以整數(shù)輸入,那么得到123
            再以浮點(diǎn)數(shù)輸入,得到0.456;

            小結(jié):感覺(jué)istringstream和sscanf是同類(lèi)型的函數(shù),只不過(guò)一個(gè)屬于傳統(tǒng)的c語(yǔ)言而另一個(gè)屬于高級(jí)的c++;
            用它可以方便的分離字符串,并且可以在字符串長(zhǎng)度未知的情況下進(jìn)行操作,這是sscanf所無(wú)可比擬的。

            最后,要特別鳴謝的是張宏課上面的那位同學(xué),多謝你的指點(diǎn) :-)


            posted on 2009-03-23 22:36 abilitytao 閱讀(4041) 評(píng)論(10)  編輯 收藏 引用

            評(píng)論

            # re: istringstream類(lèi)研究 2009-03-24 23:46 OwnWaterloo

            以上程序在vc6.0上運(yùn)行正常?

            我這里的vc6, 會(huì)報(bào)很多頭文件缺失。
            比如iostream 會(huì)缺少streambuf stdexcept exception

            要自己寫(xiě)這3個(gè)文件, 分別再include STREAMBF STDXCEPT XCEPTION

            總之, 我這里的vc6的include中的頭文件, 名字全是大寫(xiě),而且都不超過(guò)8個(gè)字符。
            我懷疑我用的是不是vc6 for dos 。。。。  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究[未登錄](méi) 2009-03-25 00:28 abilitytao

            @OwnWaterloo
            iostream屬于C++標(biāo)準(zhǔn)庫(kù)   回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究 2009-03-25 12:31 OwnWaterloo

            @abilitytao
            我還不知道iostream屬于標(biāo)準(zhǔn)庫(kù)嗎?
            我只是想問(wèn)下樓主的vc6的版本?
            Microsoft Visual Studio\VC98\Include下的文件是大寫(xiě)還是小寫(xiě)?
            有沒(méi)有8字符限制?
            謝謝~

              回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究 2009-03-25 13:20 OwnWaterloo

            @abilitytao
            sorry, 剛才語(yǔ)氣有點(diǎn)過(guò)激。
            希望樓主能解答我的問(wèn)題, 再次感謝~~  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究[未登錄](méi) 2009-03-25 17:41 abilitytao

            @OwnWaterloo
            呵呵 那個(gè)目錄下都是大寫(xiě)的頭文件
            至于你說(shuō)的vc for dos,我沒(méi)有用過(guò) 不是很清楚
            不過(guò)現(xiàn)在vs2008都已經(jīng)出來(lái)了 功能比6.0強(qiáng)大許多 不妨直接用2008吧 網(wǎng)上有下載的

              回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究 2009-03-25 18:48 OwnWaterloo

            @abilitytao
            那直接就有 iostream streambuf exception stdexcept 這些文件咯?
            它們的文件名都超過(guò)8個(gè)字符。

            我這里沒(méi)有…… 所以我懷疑是vc6 for dos……

            我也有vs2008 …… 不過(guò)還有固執(zhí)的人在使用vc6 …… 所以盡可能的提供支持……  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究[未登錄](méi) 2009-03-25 23:36 abilitytao

            @OwnWaterloo
            這個(gè)。。。我本來(lái)是用vc6.0的 后來(lái)發(fā)現(xiàn)6.0對(duì)運(yùn)算符重載的支持不太好
            而且用6.0調(diào)試STL相當(dāng)麻煩 所以我現(xiàn)在都用2005了 。。。  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究 2009-03-26 11:14 Sunshine Alike

            學(xué)習(xí)了。剛剛正遇到一個(gè)與string相關(guān)的問(wèn)題 ^_^
            不過(guò)請(qǐng)教下LZ,C++里把int轉(zhuǎn)為string有什么簡(jiǎn)便的方法沒(méi)有,需要用到這些流么  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究[未登錄](méi) 2009-03-26 16:51 abilitytao

            @Sunshine Alike
            用ostringstream應(yīng)該可以 它的作用相當(dāng)于c里面的sprintf 不過(guò)我沒(méi)有去驗(yàn)證過(guò) 你可以自己試試  回復(fù)  更多評(píng)論   

            # re: istringstream類(lèi)研究 2009-03-28 00:24 Sunshine Alike

            @abilitytao
            感謝,問(wèn)題已經(jīng)解決了。  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            狠狠色丁香婷婷久久综合| 久久久噜噜噜www成人网| jizzjizz国产精品久久| 超级97碰碰碰碰久久久久最新| 国产精品99久久久久久www| 久久se精品一区精品二区| 热re99久久精品国99热| 亚洲va久久久噜噜噜久久狠狠 | 国产成人精品久久综合| 2021少妇久久久久久久久久| 欧美黑人又粗又大久久久| 欧美亚洲色综久久精品国产| 日本强好片久久久久久AAA| 日韩AV无码久久一区二区| 久久精品无码专区免费青青| 国产精品一久久香蕉国产线看观看| 久久久久亚洲AV成人片| 91精品国产91久久综合| 久久久中文字幕| 国产午夜精品久久久久九九| 久久精品免费网站网| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲AV无一区二区三区久久| 国产美女久久精品香蕉69| 国产精品久久久天天影视香蕉| 性做久久久久久久久久久| 精品国产乱码久久久久软件| 999久久久无码国产精品| 99久久综合国产精品二区| 久久天天日天天操综合伊人av| 一级做a爰片久久毛片免费陪| 久久婷婷人人澡人人| 久久综合亚洲色HEZYO社区| 久久精品国产亚洲av麻豆色欲 | 伊人久久精品影院| 亚洲AV无码1区2区久久| 亚洲一本综合久久| 一日本道伊人久久综合影| 97精品国产91久久久久久| 人妻丰满?V无码久久不卡| 久久青青草原亚洲av无码app|