• <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>

            力為的技術(shù)博客

            聯(lián)系 聚合 管理
              154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

            ?

            用std::getline可以從stream中讀取一行數(shù)據(jù), 默認(rèn)的行結(jié)束符號(hào)為'\n'。
            最近遇到這樣一種情況:使用getline處理有相同text內(nèi)容的std::ifstream和std::istringstream時(shí),得到的結(jié)果有差異。從std::istringstream中返回的一行會(huì)多出一個(gè)不可見的'\r'符號(hào)。

            對(duì)于用記事本創(chuàng)建的text文件,每一行用\r\n表示。當(dāng)用std::ifstream讀取的時(shí)候,std::ifstream內(nèi)部會(huì)處理\r\n為\n,只少從結(jié)果上看是這樣。當(dāng)把整個(gè)文件讀入buffer中,再用std::istringstream處理的時(shí)候,\r仍然被保留著。

            而\r多數(shù)情況下是多余的,因此需要處理掉。新的讀取行的函數(shù)如下:

            std::istream & ?readline(std::istream & ?stream,?std:: string & ?szLine)
            {
            ?
            using ?? namespace ?std;
            ?getline(stream,?szLine);
            ?
            // ?erase?'\r'
            ?szLine.erase(find(szLine.begin(),?szLine.end(),? ' \r ' ),?szLine.end());
            ?
            // ?ignore?the?empty?lines
            ? if (szLine.empty()? && ?stream)
            ??readline(stream,?szLine);
            ??
            ?
            return ?stream;
            }
            posted on 2006-06-08 15:40 力為 閱讀(2892) 評(píng)論(3)  編輯 收藏 引用 所屬分類: 4. C++ FAQ

            評(píng)論

            # re: std::istream 和 '\r' 2006-06-09 08:39 3×7=51
            很明顯你在把文件讀入buffer的時(shí)候一定是在binary模式下讀入的。這樣得到這種結(jié)果很正常。不知道我有沒有說錯(cuò)。  回復(fù)  更多評(píng)論
              

            # re: std::istream 和 '\r' 2006-06-09 22:02 力為
            to 3×7=51:
            You are right! 3Q!  回復(fù)  更多評(píng)論
              

            # re: std::istream 和 '\r' 2011-09-07 08:12 555
            std::ifstream內(nèi)部會(huì)處理\r\n為\n,可以用在LINUX和WINDOWS轉(zhuǎn)換上,
            LINUX文本文件換行為\N  回復(fù)  更多評(píng)論
              

            色婷婷噜噜久久国产精品12p | 久久久久久久综合狠狠综合| 精品熟女少妇aⅴ免费久久| 精品多毛少妇人妻AV免费久久| 久久国产免费直播| 亚洲国产另类久久久精品黑人 | 欧美综合天天夜夜久久| 欧美性大战久久久久久| 久久夜色精品国产欧美乱| 午夜不卡888久久| 亚洲AV无码久久精品色欲| 久久久久国产一区二区| 97久久超碰国产精品旧版| 亚洲国产视频久久| 久久av免费天堂小草播放| 国产欧美久久一区二区| 久久久久亚洲AV无码观看| 亚洲综合精品香蕉久久网97 | 久久久久亚洲AV无码专区首JN | 日本欧美国产精品第一页久久| 蜜臀久久99精品久久久久久小说| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品国产99国产精品导航| 久久国产高清一区二区三区| 久久se精品一区精品二区| 久久久久久久亚洲Av无码| 久久久久亚洲AV无码专区首JN | 亚洲国产日韩欧美久久| 久久国产精品国语对白| 伊人久久大香线焦综合四虎| 国产三级久久久精品麻豆三级| 亚洲国产一成人久久精品| 亚洲国产精品无码久久一线| 思思久久精品在热线热| 日韩亚洲国产综合久久久| 久久久中文字幕日本| 日本加勒比久久精品| 99精品久久久久久久婷婷| 久久国产精品99国产精| 国产精品对白刺激久久久| 亚洲午夜久久影院|