【发布时间】:2023-03-12 09:39:01
【问题描述】:
我有这个小文件打开功能,使用QFile,但调试后我注意到它跳过了该功能-与找不到文件或编码错误有关?
QString s;
QFile file(QString::fromStdString(fileName));
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream in(&file);
while (!in.atEnd())
{
s = in.readLine();
shipHandler::lineParse(s);
}
}
我试图打开的文件是一个文本文件,它与所有其他头文件 + 源文件一起位于主文件夹中。我将"file.txt" 传递给这个函数。
【问题讨论】:
-
QString::fromStdString(fileName)中存储了什么? -
@Jepessen 该函数传递了一个字符串,我的例子是“Ships.txt”,我用它来将它转换为 QString。调试时它显示它采用文件名,但似乎没有从中读取
-
1 - 您确定它包含该名称吗?创建一个 QString 中间变量并检查它。 2 - Ships.txt 没有绝对文件夹。文件存储在哪里,程序的工作文件夹是什么?尝试使用绝对路径名开始。
-
我不确定当我调试并将鼠标悬停在变量名文件名上时,我得到 -> oi59.tinypic.com/2ymdu1g.jpg - 但是一旦它通过了 QFile 语句,我将鼠标悬停在我得到 - > oi59.tinypic.com/eukgua.jpg - 所以我不确定出了什么问题
-
@horHAY 相对路径。相对路径。相对路径。相对路径。