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

Qt4 File open error : No such file or directory

本文关键字:文件 错误 Qt4      更新时间:2023-10-16

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

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

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

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

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