注册 登录
编程论坛 C++教室

文件I/O:文件关闭后重新打开, 执行出现问题

mooddog 发布于 2010-03-14 20:59, 425 次点击
一:程序为
#include <fstream>
#include <iostream>
#include <cstdlib>
using std::ifstream;
using std::ofstream;
using std::cout;
using std::endl;
int main( )
{
    ifstream inStream;
    int next;

    inStream.open("infile.txt");
    while(inStream>>next)
        cout<<next<<endl;
    cout<<"此次结束\n";
    inStream.close( );

    cout<<"----------------------------\n";

    inStream.open("infile.txt");
    while(inStream>>next)                       //为什么没有被执行????????????
        cout<<next<<endl;
    cout<<"此次结束\n";
    inStream.close( );

    return 0;
}


二,文件为:
infile.txt为:
1 2
3    4
   5


三,输出结果为:
1
2
3
4
5
此次结束
----------------------------
此次结束
Press any key to continue


四,问题描述:第二次重新打开文件后执行相同的操作,但是整个while语句都没有执行!!!这是为什么?请问应该怎么修改???谢谢!
2 回复
#2
cnfarer2010-03-15 09:35
改下吧!
    cout<<"----------------------------\n";
    inStream.clear();    //加上这一行就行了!!!否则open()出错,当然循环不能执行.
    inStream.open("infile.txt");
    while(inStream>>next)                       //为什么没有被执行????????????
#3
mooddog2010-03-15 19:00
回复 2楼 cnfarer
楼主真厉害,我初学C++,不知道有这条语句,太谢谢了!!!
1