用c++从文件中读取int类型

Reading an int from a file in C++

本文关键字:读取 int 类型 文件 c++      更新时间:2023-10-16

我试图打开一个文件,并从它在c++中读取一系列int。在我的印象中,这可以通过简单地使用inputfile>> variable来完成。然而,即使是第一项也读错了。我写了尽可能简单的代码来复制我的问题。

#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char **argv) {
    int n;
    ifstream inputfile("input.txt");
    inputfile >> n;
    cout << "NUMBER IS: " << n << endl;
    return 0;
}

输入文件只是一个包含数字4的文本文件。但是,每次测试代码都会得到不同的大数字。有什么问题吗?

添加如下检查:

if(inputfile>> n)
{
     //Code
} else
{
    cout << "Failed!";
}

同时,检查文件是否被打开:

ifstream inputfile("input.txt");
if (!inputfile)
{
    cout << "Failed opening file!";
    return -1;
}