【发布时间】:2014-08-04 21:33:01
【问题描述】:
我是 C++ 新手,正在尝试打开文件,但无法正常工作。该文件肯定在那里,在同一个目录中。我尝试过取消隐藏扩展名(例如,它绝对称为 test.txt 而不是 test.txt.txt),并且还尝试使用完整路径。该文件未在任何地方打开。有什么想法(我确定这很简单,但我被卡住了)?
string mostCommon(string fileName)
{
string common = "default";
ifstream inFile;
//inFile.open(fileName.c_str());
inFile.open("test.txt");
if (!inFile.fail())
{
cout << "file opened ok" << endl;
}
inFile.close();
return common;
}
【问题讨论】:
-
我认为你必须像这样指定打开模式
inFile.open("test.txt", ifstream::in); -
@Johny 模式被隐式指定为默认参数,因此没有必要,除非您希望将
std::ios_base::in与其他修饰符混合使用。 -
@SirDarius 如果您使用的是
ifstream,则无论您向构造函数或open提供什么,in标志都会传递给basic_filebuf。