C++读取文件循环搞砸了

标签 c++

我在读取简单文件时遇到问题。我有 4 行四行长的 T/F,开头有计数。我读入了 myfile >> count 和 myfile >> value 来获取值,并用 count 完成它并转到下一行,但由于某种原因我在转到第三行时遇到了问题。不确定如何在此处获取数据文件...感谢查看!

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;
}

最佳答案

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

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

关于C++读取文件循环搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6894176/

相关文章:

C++ 我的 DFS 代码有什么问题?

c++ - C++中比较器的使用

c++ - 需要将字符串更改为二进制,然后再更改为 ASCII

c++ - 如何添加 2 个四位十六进制来生成 ASCII 字符字节

c++ - 有没有办法打印一个对象分配的堆内存量?

c++ - 使用共享指针调用遗留函数

c++ - 从同一来源分配不同的值。奇怪的

android - 使用 Android SDK(或 Marmalade 等)将 C++ 游戏移植到 Google Play 有多难

c++ - 在 C++ 中返回 unique() 函数

c++ - 创建一个新对象并传入方法参数