sách gpt4 ai đã đi

qt - 查看 QTextStream

In lại 作者:行者123 更新时间:2023-12-03 18:20:23 31 4
mua khóa gpt4 Nike

我想查看读取 QFile 的 QTextStream 的下一个字符,以创建一个高效的标记器。

但是,我没有找到任何令人满意的解决方案。

QFile f("test.txt");
f.open(QIODevice::WriteOnly);
f.write("Hello world\nHello universe\n");
f.close();

f.open(QIODevice::ReadOnly);
QTextStream s(&f);
int i = 0;
while (!s.atEnd()) {
++tôi;
qDebug() << "Peek" << i << s.device()->peek(3);
QString v;
s >> v;
qDebug() << "Word" << i << v;
}

给出以下输出:
Peek 1 "Hel" # it works only the first time
Word 1 "Hello"
Peek 2 ""
Word 2 "world"
Peek 3 ""
Word 3 "Hello"
Peek 4 ""
Word 4 "universe"
Peek 5 ""
Word 5 ""

我尝试了几种实现,还有 QTextStream::pos() 和 QTextStream::seek()。它工作得更好,但 pos() 有问题(当文件太大时返回 -1)。

有没有人有解决这个反复出现的问题的方法?先感谢您。

1 Câu trả lời

你从QIODevice偷看,但随后您从 QTextStream 中读到,这就是为什么 peek 只工作一次。尝试这个:

while (!s.atEnd()) {
++tôi;
qDebug() << "Peek" << i << s.device()->peek(3);
QByteArray v = s.device()->readLine ();
qDebug() << "Word" << i << v;
}

不幸的是, QIODevice不支持单字阅读,需要自己动手,结合peak和read。

关于qt - 查看 QTextStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21401954/

31 4 0
Bài viết được đề xuất: delphi - 在 Delphi 中创建 TCustomComboBox 后代
Bài viết được đề xuất: asp.net:母版页继承不继承占位符吗?
Bài viết được đề xuất: sql - SQLite获得第12条记录-最有效?
Bài viết được đề xuất: iphone - 我们可以直接访问核心数据的SQLite数据库吗
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com