void openfile(const string &db_filename) {
ifstream file;
file.open("db_filename");
if(file.is_open())
{
cout<<"true"<<endl;
}
else cout<<"false"<<endl;}
我这里有这个简单的代码,用于检查文件是否打开。但是,每当我运行此命令时,我都会得到错误。这意味着该文件未打开。我不知道为什么,但是我确定文件位于同一文件夹中,并且文件名输入正确。这段代码有什么问题吗?
答案 0 :(得分:1)
您正在将字符串文字"db_filename"
传递给open()
,而不是传递db_filename
字符串对象。只需删除引号即可:
file.open(db_filename);
如果您的STL版本不支持将std::string
传递到open()
,请调用字符串的c_str()
方法:
file.open(db_filename.c_str());