问题标签 [qfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1821 浏览

c++ - 当已经在 Excel 中打开时,使用 QFile 写入文件失败,没有错误代码

我尝试使用 QFile 写入现有文件,该文件按预期工作。但是,问题是如果文件在 Excel 中打开,从我的程序写入文件会失败。

我尝试使用 QFileInfo 测试权限并拥有文件的所有读写权限。考试

返回真。

使用 notepad++ 打开文件时不会出现同样的问题。

如何检查文件是否被锁定并且无法写入?

0 投票
1 回答
171 浏览

qt - QFile 仅在第二次覆盖

代码可以在下面找到。

在 textEdit 画布上,我收到了写入字符的计数,但它没有出现在文件中。在第二次调用 fd-> write(...) 之后一切都很好,但为什么只有第二次?

0 投票
1 回答
3013 浏览

c++ - 将 txt 文件读入 QStringList

我有一个包含 3000 个字符串(1 个字符串 - 几个单词)的文件。我需要将字符串读入QList. 我怎样才能做到这一点?我尝试了以下方法:

函数()<=>MyList<<"string"<<"string2";

0 投票
1 回答
276 浏览

c++ - QFile / QTextStream 在写入删除文件时不显示错误

我正在使用 QTextStream 写入 QFile,一切都很好。我正在尝试创建一些错误检测,因此我尝试在写入之间删除输出文件。

扼杀,Qtextstream的状态继续显示0(没有错误),QFile的错误方法返回0。然而文件不见了,写入的文本正在丢失……不见了

这是怎么回事?如何检测写入失败?我在看错误的方法吗?

0 投票
1 回答
522 浏览

xml - 无法使用 QTextStream 读取数据表单 xml 文件

我尝试使用 QTextStream 从 xml 文件中读取数据,但最后我得到了空字符串。这是我的代码:

这是xml文件的内容:

我正在使用 Qt_version 5.1.1 和 MinGW_32bit-Debug,Windows 7。如果我将 xml 文件更改为 txt 文件,结果仍然是空字符串。

0 投票
1 回答
7065 浏览

c++ - 记录器类的 QFile 和 QTextStream

我正在尝试使用 QFile 和 QTextStream 创建一个 Logger 类,但我找不到有效的方法。我只想在其中创建一个 log(...) 函数。

如果我执行以下操作,我知道它会起作用:

但这很讨厌。我不想在我插入的每个日志行中创建一个 QFile 对象。

因此,我尝试了几种不同的方法,例如:

1) (以 QFile *m_pFile 作为成员)

或者

2) (以 QFile *m_pFile 和 QTextStream *m_pLogStream 作为成员)

在第一种情况下,我得到:

C2248:“QTextStream::QTextStream”:无法访问在“QTextStream”类中声明的私有成员

第二,*m_pLogStream 不等同于 QTextStream&。

我究竟做错了什么?

0 投票
1 回答
527 浏览

qt - QFiles 错误的 Qt C++ 向量

我有以下内容:

给我以下错误: error: 'QFile::QFile(const QFile&)' is private

如果我使用 QList 而不是 std::vector,我会得到同样的错误。

感谢您的关注。

0 投票
1 回答
1455 浏览

qt - QFile Unicode 路径 - 文件不存在

我编写了一个Firefox 插件,它调用外部程序来完成工作:)。问题是当你传递参数时 Firefox 无法处理 Unicode,所以当我调用我的前任时,我不得不跳过一些障碍。

我一直在做的是使用 URI 编码的字符串,而我正在使用 QT 库来完成处理 Unicode 字符串的困难工作。但我无法让 QT 的 QFile 在 Unicode 路径上找到任何内容。

我从这样的字符串开始:

C:\temp\私\加电!.mp3

我把它编码成这样:

C%3A%5Ctemp%5C%E7%A7%81%5CPower%20Up!.mp3

然后我将它作为命令行参数传递。现在我在 Visual C++ 2010 Express Edition 编译器的调试命令行参数中传递它。

最后我尝试这样做:

如果我没有带有“私”字符的路径,它可以正常工作,但否则对 exists() 的调用返回 false,我最终退出。我知道文件在那里,当我在记事本++中检查我的调试文件时,它有正确的字符。

谁能看到我做错了什么?

编辑:

我想我可能已经明白了。

首先,我像这样切换到 wmain:

然后我像这样设置我的 QStrings:

到目前为止,这有效。我需要做更多的测试:),我有 90% 的把握这不会在 Linux/OSX 中编译(我需要在 Linux 中构建 QT 来找出答案,并查看 wchar_t 宏)。

0 投票
1 回答
4869 浏览

c++ - QFile:如何有效地从 k 读取字节到 k+L

我可以从 QFile 读取从 k 到 k+L 的字节,将第一个整个文件读入 QByteArray

如何有效地从 k 读取字节到 k+L ?

0 投票
1 回答
532 浏览

c++ - 为什么 QDir::rmdir 不是静态的?

QFile具有静态功能

bool QFile::remove ( const QString & fileName ) [static]

删除指定的文件。这很方便:我们有一个文件路径,我们使用一个命令来删除它。但是,QDir没有这样的命令,只有这个:

bool QDir::rmdir ( const QString & dirName ) const

这是非静态的,因此需要一个对象。所以我被迫做丑陋的事情,比如

QDir().rmdir(path)

这很恶心。我错过了什么吗?