C ++文件无法打开

时间:2014-08-04 13:05:01

标签: c++ file-io

我是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;
}

1 个答案:

答案 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);
}