• <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è)不可見(jiàn)的'\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 力為 閱讀(2899) 評(píng)論(3)  編輯 收藏 引用 所屬分類: 4. C++ FAQ

            評(píng)論

            # re: std::istream 和 '\r' 2006-06-09 08:39 3×7=51
            很明顯你在把文件讀入buffer的時(shí)候一定是在binary模式下讀入的。這樣得到這種結(jié)果很正常。不知道我有沒(méi)有說(shuō)錯(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)論
              

            无码伊人66久久大杳蕉网站谷歌| 久久人人爽人人澡人人高潮AV | 久久精品成人免费观看97| 久久国产美女免费观看精品 | 亚洲精品tv久久久久久久久| 国产精品久久久亚洲| 亚洲精品成人网久久久久久| 精品免费久久久久久久| 国产成人久久777777| 婷婷伊人久久大香线蕉AV| 日韩精品久久久久久| 婷婷五月深深久久精品| 精品无码人妻久久久久久| 免费观看久久精彩视频| 一本一道久久a久久精品综合| 国产产无码乱码精品久久鸭| 久久午夜综合久久| 国产精品天天影视久久综合网| 久久频这里精品99香蕉久| 久久亚洲国产午夜精品理论片| 尹人香蕉久久99天天拍| 久久九九久精品国产| 久久国产乱子伦精品免费强| 国产91久久精品一区二区| 久久99久久99精品免视看动漫| 亚洲国产一成久久精品国产成人综合| 国产精品久久一区二区三区| 麻豆一区二区99久久久久| 久久久久久久久久久久中文字幕| 无码精品久久久天天影视 | 亚洲综合日韩久久成人AV| 久久久久久久97| 97精品伊人久久大香线蕉| 色婷婷久久综合中文久久蜜桃av| 久久99精品免费一区二区| 亚洲AV伊人久久青青草原| 久久国产三级无码一区二区| 囯产精品久久久久久久久蜜桃| 9191精品国产免费久久| 99国内精品久久久久久久| 国色天香久久久久久久小说|