无法从文件中读取

时间:2013-11-28 06:11:43

标签: c++

我在从文件中读取整数时遇到问题。至于我的知识,它应该工作。你能告诉我这里做错了什么吗?

    int fileCount = 0;
    ifstream listFileStream ( fileName );

    if ( listFileStream.is_open() ) {

            listFileStream >> fileCount;
            cout << fileCount;

    }

即使文件的第一行是28,它也只打印0。

1 个答案:

答案 0 :(得分:2)

您应该始终检查您是否尝试成功:

if (listFileStream >> fileCount) {
    process(fileCount);
}

如果读取不成功,您可以尝试从中恢复或报告错误。以下是您尝试恢复的一种方法:将流恢复到良好状态并忽略第一个字符:

listFileStream.clear();
listFileStream.ignore();

如果不将流恢复到良好状态,则将忽略所有输入尝试。删除违规字符后,您将重试读取。