Qt4文件打开错误:没有这样的文件或目录

时间:2017-05-13 19:02:04

标签: c++ qt

我想打开一个基于文本的外部文件,如下所示:

QFile inputFile("mytextfile.txt");
if (inputFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
    QTextStream in(&inputFile);
    while (!in.atEnd())
    {
        QString line = in.readLine();
        ..
    }
    inputFile.close();
}
else
{
    QString errMsg;
    QFileDevice::FileError err = QFileDevice::NoError;
    errMsg = inputFile.errorString();
    err = inputFile.error();
    qDebug() << errMsg;
    exit(1);
}

外部文件位置位于源代码旁边。没有任何东西可以锁定文本文件。 但我总是收到以下错误消息:No such file or directory

1 个答案:

答案 0 :(得分:1)

源文件旁边的文件不相关。 相关的是您运行程序时当前工作目录的内容。

cwd 取决于你如何启动程序。从命令行/ shell启动时,它将成为启动程序时所在的目录。当从GUI运行程序时,它通常是一些预定义的目录,如桌面或你的家庭目录。从IDE运行时,它通常是编译期间放置可执行文件的目录(或者您想要的任何地方;它通常是可配置的)。

在任何情况下,您都可以使用getcwd在运行时获取实际 cwd。然后,您可以使用它来定位您的数据文件。