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

            久久福利青草精品资源站免费| 久久中文字幕精品| 99久久精品国产一区二区| 无码任你躁久久久久久久| 久久综合狠狠综合久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久精品aⅴ无码中文字字幕重口| 久久er国产精品免费观看2| 久久青青草原精品国产软件| 奇米综合四色77777久久| 久久91精品综合国产首页| 麻豆亚洲AV永久无码精品久久| 国产激情久久久久影院| 午夜天堂精品久久久久| 久久久久亚洲?V成人无码| 99久久精品日本一区二区免费| 久久综合狠狠综合久久97色| 久久青青草原精品国产| 久久亚洲精品无码VA大香大香| 久久久精品一区二区三区| 久久av免费天堂小草播放| 99精品国产在热久久无毒不卡 | 青春久久| 999久久久免费国产精品播放| 欧美牲交A欧牲交aⅴ久久| 久久中文字幕人妻丝袜| 久久精品国产WWW456C0M| 99国产精品久久久久久久成人热| 久久精品国产日本波多野结衣| 无夜精品久久久久久| 污污内射久久一区二区欧美日韩| 成人国内精品久久久久影院VR| 久久99精品久久久久久| 韩国免费A级毛片久久| 欧美黑人又粗又大久久久| 亚洲国产另类久久久精品| 久久99国产精品久久99小说| 久久夜色精品国产噜噜亚洲a| 亚洲欧美国产日韩综合久久| 麻豆久久久9性大片| 久久人人爽人人人人片av|