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

            精品999久久久久久中文字幕| 亚洲国产成人久久综合野外| 漂亮人妻被中出中文字幕久久 | 狠狠精品干练久久久无码中文字幕 | 亚洲欧美另类日本久久国产真实乱对白| 久久最近最新中文字幕大全| 久久青青草原国产精品免费| 国产精品久久毛片完整版| avtt天堂网久久精品| 久久婷婷五月综合色99啪ak| 久久综合欧美成人| 国产AV影片久久久久久| 久久久久久国产精品免费免费| 亚洲精品国产综合久久一线| 久久久无码精品亚洲日韩京东传媒 | 久久久久久国产精品无码超碰 | 精品少妇人妻av无码久久| 久久精品无码专区免费东京热| 国产精品久久久久…| 国产免费福利体检区久久| 性做久久久久久久久久久| 亚洲国产精品无码久久98| 久久99国产精品二区不卡| 久久久久久久综合综合狠狠| 99久久这里只精品国产免费| 97精品国产91久久久久久| 久久九九久精品国产| 久久久久久午夜成人影院| 精品综合久久久久久88小说| 亚洲精品乱码久久久久久蜜桃不卡| 久久96国产精品久久久| 三级三级久久三级久久| 欧美综合天天夜夜久久| 97久久国产综合精品女不卡| 丁香久久婷婷国产午夜视频| 亚洲午夜久久久久久久久久 | 久久久中文字幕| 欧美大香线蕉线伊人久久| 久久久无码精品午夜| 久久久综合九色合综国产| 性欧美丰满熟妇XXXX性久久久|