C ++从文件循环中读取乱码

时间:2011-08-01 04:16:45

标签: c++

我有一个简单的文件读取问题。我有四条长长的T / F线,开头有一个数。我读了一个myfile>> count,和myfile>>使用计数获取值一段时间的值以使其完成离线并转到下一个但是由于某种原因我遇到问题转到第三行。不知道如何在这里获取数据文件...感谢您的关注!

int main() {
    ifstream myfile;
    int count;
    string value;

    myfile.open("branches.txt");

    while(!myfile.eof()) {
        myfile >> count;
        cout << count << endl;

        while(count > 0) {
            myfile >> value;
            count--;
            //cout << value;
        }

        myfile >> count;
    }

    system("pause");
    return 0;
}

2 个答案:

答案 0 :(得分:4)

不要使用feof()它只是告诉你上次读取的结果是什么。正确的读取文件的方法是

while( read( file, buffer ) ) 
{    
    //do something 
} 

答案 1 :(得分:2)

您似乎试图每行读取count两次:在while循环的开头和结尾。