• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ifstrem的eof狀態問題

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    freebsd 5.3, gcc3.4.2 這樣一段代碼, ifstream infile; string line; infile.open(file1); cout infile.is_open()= infile.is_open() endl; cout infile.eof()= infile.eof() endl; while(!infile.eof()){ std::getline(infile, line); } infile.close();
    freebsd 5.3, gclearcase/" target="_blank" >cc3.4.2
    這樣一段代碼,

            ifstream infile;
            string line;

            infile.open("file1");
            cout << "infile.is_open()=" << infile.is_open() << endl;
            cout << "infile.eof()=" << infile.eof() << endl;
            while(!infile.eof()){
                    std::getline(infile, line);
            }                               
            infile.close();
            infile.open("file2");
            cout << "infile.is_open()=" << infile.is_open() << endl;
            cout << "infile.eof()=" << infile.eof() << endl;
            infile.close();

    輸出的結果是,

    infile.is_open()=1
    infile.eof()=0
    infile.is_open()=1
    infile.eof()=1

    而如果在file1的操作中去掉那段while的讀操作,此時結果為,

    infile.is_open()=1
    infile.eof()=0
    infile.is_open()=1
    infile.eof()=0

    看來close()并沒有清除掉eof狀態,解決的方法是調用一次clear()。




    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>