我正在尝试打开一个文件,并在C ++中从中读取一系列的int。我的印象是,这可以通过简单地使用inputfile>>来完成。变量。但是,即使是第一项也是错误地读取。我写了最简单的代码来复制我的问题。
#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的文本文件。但是,每次测试代码时,我都会得到一个不同的大数字。有什么问题?
答案 0 :(得分:1)
添加以下支票:
if(inputfile>> n)
{
//Code
} else
{
cout << "Failed!";
}
另外,检查文件是否已打开:
ifstream inputfile("input.txt");
if (!inputfile)
{
cout << "Failed opening file!";
return -1;
}