为啥 Visual Studio 无法识别 is_open() 函数
Posted
技术标签:
【中文标题】为啥 Visual Studio 无法识别 is_open() 函数【英文标题】:Why is visual studio not recognizing is_open() function为什么 Visual Studio 无法识别 is_open() 函数 【发布时间】:2019-10-05 10:46:53 【问题描述】:#include <fstream>
#include <string>
using namespace std;
void Readfile(string fname)
ifstream infile(fname);
if (is_open(infile))
while (!infile.eof())
string sline = "";
getline(infile, sline);
infile.close();
else
stderr << "unable to open file" << fname << endl;
Visual Studio 说标识符“is_open”未定义,即使我包含了 fstream 库。
【问题讨论】:
它是一个成员函数。 关于你未来的一个问题,阅读Why isiostream::eof
inside a loop condition (i.e. while (!stream.eof())
) considered wrong?
【参考方案1】:
is_open
是std::ifstream
的一个方法。使用infile
对象来调用它:
ifstream infile(fname);
if (infile.is_open())
//....
【讨论】:
比我快几秒!以上是关于为啥 Visual Studio 无法识别 is_open() 函数的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 无法识别 boost::asio