我是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;
}
答案 0 :(得分:2)
如果您指定inFile.open("test.txt")
,它将尝试在当前工作目录中打开"test.txt"
。检查以确定文件实际位于何处。如果您使用绝对路径或相对路径,请确保使用'/'
或'\\'
作为路径分隔符。
以下是存在文件时的示例:
#include <fstream>
#include <string>
#include <cassert>
using namespace std;
bool process_file(string fileName)
{
ifstream inFile(fileName.c_str());
if (!inFile)
return false;
//! Do whatever...
return true;
}
int main()
{
//! be sure to use / or \\ for directory separators.
bool opened = process_file("g:/test.dat");
assert(opened);
}