问题标签 [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.
eof - QFile.atEnd() 过早返回 TRUE
我正在尝试读取 CSV 文件。我的代码如下。我遇到的问题是文件的第一行按预期读入,但是一旦再次达到 while 循环条件 File.atEnd 返回 true。我已经尝试了几个文件,其中一些非常大,但它仍然只读取 CSV 文件的第一行。我已经使用了调试器,但找不到原因。运行 Win7 Pro(64 位)Qt v5.0.1(32 位)QDesigner v2.6.2。
更新:如果我有一个包含很多列的 CSV 文件,那么它似乎可以解决。
CSV 文件示例:
c++ - QList 元素的分段错误
在我的应用程序中,我有一个指向 QFile 对象的指针列表:
此函数将元素添加到列表中:
在这个函数之后,QFile 指针被添加到 QList 上。但是,当我尝试使用函数 at(int) 操作列表元素上的某些内容时,会发生分段错误。
例子:
有人看到我做错了什么?
c++ - QDataStream 和 QByteArray 的区别
基本上我的问题是,我做错了什么?为什么是 pos > size?我不应该使用 << 吗?我不应该使用 QDataStream 吗?
编辑:有没有办法配置 QDataStream 或 QTemporaryFile 以便 << 运算符不会在字符串前面加上 32 位长度并将空终止符存储在文件中?当我只有一系列带引号的字符串时调用 QDataStream::writeBytes 并且 QStrings 会产生非常丑陋的代码。
c++ - 如何使用 Qt 从磁盘读取 XML 文件?
我想读取一个xml文件如下:
然后继续从以下位置解析 xml:
..我得到的错误是:
那么问题是什么以及如何解决呢?
问题更新:根据下面选择的答案,代码现在可以正常工作,没有语法错误。
但是,我无法读取我的 xml。解析 xml 时,我使用以下内容读取 xml 元素:
然后是用于检查 startElements 的代码:
所以,在这个断点处,我在调试器中注意到令牌值是QXmlStreamReader::Invalid(1)
那么,发生了什么..是我的 QStreamReader 没有将文件读取为 xml,还是读取它但 xml 本身有错误?
c++ - Qt:c++:如何读取“.dat”文件
我有一个“.dat”文件,其中包含“1”和“-1”作为垂直表示的序列(即:每个元素都在一行中。)。
我正在尝试按如下方式读取文件:
但是,结果与我的序列完全不同,如下所示:
我做错了什么?
c++ - QFile 不读取也不打开我的文件
我有一个名为“sequence_30.dat”的文件,其中包含垂直表示的 1 和 -1 序列(即:每个 1 或 -1 在单独的行中).. 我正在尝试使用读取文件以进行另一个操作以下代码:
但是在调试时,编译器会跳过“ if(file.exists())
”语句,当它被删除时,编译器会再次跳过“ if(file.isOpen())
”语句
我非常确定路径是正确的,但如果不是如何确保我在正确的路径中(即:有没有办法检查我从哪里读取)..如果路径正确,为什么我的文件打不开?
c++ - 使用 QFile::readAll 函数时如何避免读取“\n”
我有一个“sequence.dat”文件,其中包含垂直表示的“1”和“-1”(即:每个元素都在一行中)。我正在尝试按如下方式读取文件:
但是,在调试断点处,QByteArray
“数据”包含“1,-,1,\n”而不是“1,-1”......
是否可以一次读取整行而不是单独读取每个字节?并且...如果没有,如何告诉“ readAll
”函数避免“\n”(这不是最佳解决方案,因为我还想分别阅读“-1”而不是“-和1”)
qt - Qt - QFile - 如何只读取每行中的第一个单词
在 Qt 中使用 QFile 时,如何仅读取文本文件中每一行的第一个单词?谢谢。
qt4 - 为什么我的程序无法访问所需的文件?
我已经使用 Qt 库为在 Linux 上运行的嵌入式设备编写了一个程序,该程序由Buildroot 生成。为了启动我的程序,我创建了一个名为S80custom
并将其放置在/etc/init.d/
目录中的脚本。脚本的内容是:
但是,当我的程序在系统启动时运行时,它无法访问放置在/root/files
. 我已经使用QFile
了类及其成员函数。我已经尝试过标准 C++ 库并且它们可以工作,但奇怪的是 QFile 无法打开文件,我必须使用 QFile 来完成这项任务。
我在这里做错了什么?
我还应该在这里提到,当我登录后从命令提示符运行我的应用程序时,它可以完美运行。
编辑
根据评论中的要求,这是假设打开文件的代码部分:
设置警报的机制已激活,该代码告诉我文件丢失或损坏。除此之外,我没有任何错误。我也尝试将完整路径作为文件名,但这也不起作用。
qt - 序列化 QFileInfo
我有一个文件列表,我想序列化每个文件的文件信息并通过套接字发送。
我看到可以像这样进行序列化,例如:
但我找不到对QFileInfo
. 是否可以序列化这种Qt
数据类型?有什么方法可以轻松实现这种类型的完整序列化,或者我只需要将数据分解为原始单元?