问题标签 [qtextstream]

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 投票
0 回答
1769 浏览

c++ - 将 QTextStream 转换为 std::stringstream

我在 .qrc 文件中嵌入了一些文本文件。但是,我的后端项目不是基于 Qt 的,并且在 Qt 前端项目中有几次,我必须调用A::read(std::string const& filePath)类似函数std::ifstream来读取文件。当然,没有办法std::ifstream找到存储在 Qt 资源系统中的文件,所以我开始考虑转换。

使用std::stringstream是我脑海中闪现的第一件事:

但我希望有更好的东西。(我不需要保留 unicode。)我会接受更接近问题根源的解决方案 - qrc。

0 投票
1 回答
243 浏览

c++ - QTextStream 弄乱了它的位置指针

我正在为文本文件编写解析器,但 QTextStream 似乎缺少一些东西。我正在使用 Qt 5.4.1,并且代码是单线程的,如果这很重要的话。

这是方法:

我在循环中调用它。第一个调用工作正常,但在第二个调用中,我得到以下输出:

如您所见,QTextStream 和 QFile 内部指针在进入循环之前很好,但在循环内部完全搞砸了。

知道这里发生了什么吗?

0 投票
2 回答
1233 浏览

qt - 开始从文件中读取时,QTextStream atEnd() 返回 true

我想在 linux 机器上读取和解析 /proc/PID/status 文件的内容,但是 QTextStream.atEnd 在开始读取时总是返回 true。编码:

文件存在,如果我在没有 while 表达式的情况下手动读取行,则可以正常读取文件。

我错过了什么明显的东西吗?

(Debian 8 x64,QT 5.4.1 x64,gcc 4.9.2)

0 投票
0 回答
123 浏览

qt - QtextStream::readAll() 是否刷新我的 QTextStream 对象?

QtextStream textStream已经填满了我的对象。当它不以“}”结尾时,我想在这种情况下附加一个“}”:

但在此之后,我的 TextStream 只是 "}" 吗?那么 readAll 会刷新 TextStream 吗?否则我怎么能解决这个问题?

0 投票
1 回答
1607 浏览

c++ - QTextStream::readAll 返回空的 QString

我试图遍历特定 XML 节点的所有子节点并加入它们的name属性。结构:

期望的结果:

编码:

现在连调试器都说如果我这样做

paramNamesSTR是一个空字符串。但是,如果我改用std库,则一切正常:

那么有什么区别呢?为什么 QtQTextStream返回空字符串?我真的更喜欢与使用过的库保持一致,因此使用QTextStream而不是std::stringstream,虽然我个人更喜欢前者。

0 投票
1 回答
1355 浏览

c++ - Qt (C++):QFile 成功创建文本文件但不写入

我有以下代码,我正在尝试写入文件。调用时,在目录中创建文件并for-loop输入。in 的值QVector<int> program也存在并且在 中可见qDebug()。但是,在我关闭文件和窗口后,我在计算机上检查了文件,它完全是空的。我已经检查了 StackOverflow 和 Qt 论坛,但还没有找到解决方案。

0 投票
1 回答
242 浏览

c++ - Qt QTextStream 到 QList 项目

我想直接使用 QTextStream 填充 QList。我有这个代码工作正常:

我想知道为什么 while 循环中的注释代码在未注释时无法正常工作(并且 read1>>aux;str.append(aux); 已注释)。我可以使用它,但 str.count() 返回 0 并且 str.isEmpty 为真,即使我可以使用 str.at(i) 读取值。

我有另一种解决方案,如评论中的我不需要使用辅助变量 aux 吗?

0 投票
1 回答
198 浏览

c++ - 如何在命令行上使用 Qt 进行是/否对话?

我知道这样做很糟糕:

我想在它出现在 cmdline 的地方执行它:

在哪里:

  1. y 默认显示
  2. 如果按n,它不会变成“yn”,而只是将字符改为“n”
  3. 如果您按 y 或 n 之外的任何字母,他们将不会注册。

  4. 也许作为奖励,如果您按 y,Yes!则会显示,如果按 n,No.则会显示。

谢谢!

0 投票
1 回答
58 浏览

qt - 当另一个进程正在附加它们时,如何从文件中读取新行?

因此,我已将ffmpeg其进度写入文本文件,并且需要从所述文件中读取新值(行)。我应该如何使用 Qt 类来解决这个问题,以尽量减少我必须编写的代码量?
我什至不知道从哪里开始,除了做一些丑陋的事情,比如seeking 到最后,存储这个pos,然后稍后再次寻找到最后,并将新pos的与前一个进行比较。例如,我不清楚是否QTextStream可以在这里使用。

0 投票
2 回答
1005 浏览

qt - QTextStream - 位置方法究竟返回什么

pos()我对 QTextStream 使用该方法计算的内容有疑问。我认为这是字节数,但似乎情况并非如此。

我问的原因是我正在处理文件中的行,一旦读取的行数达到某个任意数字或stream.atEnd()为真,我就会跳出循环并保存stream.pos()到一个qint64*变量中。处理完成后,我会返回文件并seek(*filePosition)回到我的最后一个位置并获取更多数据,直到stream.atEnd()为真。从某种意义上说,这可以跟踪我的位置,但是stream.pos()正如 Qt 文档中所述,它的调用速度非常慢。

我正在尝试的是在以有效方式读取每一行后更新文件位置。但是,它不起作用,并且当程序返回以再次读取文件时,位置不正确,因为它读取的第一行从上次迭代中先前读取的行的中间开始。

这是到目前为止的内容: