我需要编写一个带有文件的控制台应用程序,打开它,然后根据文本文件中的信息调用另一个过程。
唯一的问题是QFile::errorString()
返回:
没有这样的文件或目录。
我一直在我必须使用的所有程序中使用此实现,是的,该文件存在于该目录中。
代码是:
QFile fileName("D:/file.txt");
QString read_from_file;
if(fileName.open(QIODevice::ReadOnly)){
QTextStream in(&fileName);
while(!in.atEnd())
{
read_from_file = in.readLine();
qDebug()<<read_from_file;
}
fileName.close();
}
qDebug()<<fileName.errorString();
答案 0 :(得分:1)
确保文件确实存在。
QFile::exists("D:/file.txt")
- 如果文件存在,这将返回true
。QDir("D:/").entryList()
- 这将返回位于指定路径的文件和目录列表;所需的文件应该在列表中。正如您在评论中指出的那样,问题是Windows上的hidden file extensions。
单击开始按钮,单击控制面板,单击外观,然后打开文件夹选项。 个性化,然后单击文件夹选项。
- 醇>
点击查看标签,然后点击高级设置&lt; ...&gt;
- 要显示文件扩展名,请清除隐藏已知文件的扩展名 键入复选框,然后单击确定。