• <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,只少?gòu)慕Y(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 力為 閱讀(2911) 評(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)論
              

            国内精品久久久久久99| 国产精品久久久久a影院| 久久久久亚洲AV无码网站| 国产精品久久久久9999高清| 一本一道久久精品综合| 青青久久精品国产免费看| 欧美一区二区三区久久综合| 一级做a爰片久久毛片人呢| 久久人人爽人人爽人人片AV高清 | 亚洲国产精品无码久久青草| 亚洲人成伊人成综合网久久久 | 国内精品久久久人妻中文字幕| 久久综合丝袜日本网| 亚洲中文字幕久久精品无码喷水| 亚洲国产成人久久精品影视| 久久免费看黄a级毛片| 久久国产乱子伦精品免费午夜| 伊人久久精品无码二区麻豆| 久久亚洲国产精品123区| 久久青草国产手机看片福利盒子| 久久人人爽人人爽人人爽 | 国产一区二区三区久久| 亚洲综合精品香蕉久久网| 亚洲国产成人精品无码久久久久久综合 | 久久天天躁狠狠躁夜夜2020老熟妇| 久久夜色精品国产网站| 亚洲天堂久久久| 亚洲婷婷国产精品电影人久久| 久久国产高清一区二区三区| 99久久国语露脸精品国产| 久久av无码专区亚洲av桃花岛| 久久久久精品国产亚洲AV无码| 香蕉久久夜色精品国产尤物| 久久综合久久鬼色| 四虎久久影院| 伊人久久大香线蕉av一区| 蜜臀久久99精品久久久久久小说| 熟妇人妻久久中文字幕| 91久久精一区二区三区大全| 久久国产精品-国产精品| 狠狠色综合久久久久尤物|