Qt中如何将一个文本文件打开后里面数据以二进制读取,.txt中数据为01 0c cd 04 00 03……
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中如何将一个文本文件打开后里面数据以二进制读取,.txt中数据为01 0c cd 04 00 03……相关的知识,希望对你有一定的参考价值。
如QFile file("./message.txt");
file.open(QIODevice::ReadOnly);
……;
file.close();
在省略号处添加代码
QString line;
quint8 i;
QStringList data;
textShimParameterEdit->clear();
do
line = content.readLine();
data = line.split(" ");
for(i=0; i<data.length();i++)
xxxx = data.at(i).toInt(&ok,base);
// xxxx你存放数据的空间,base:你需要转换成的进制,看内容应该是16
while (!line.isNull());追问
textshimParameterEdit->cleat()这句什么意思?
如果想把文本中十六进制数一个字节一个字节的传入到TreeModel model();中怎么做,先谢了
你不需要,这是我以前自己原来代码里有的,没删掉。
有TreeModel 吗?我没用过
尝试打开并读取 .txt 文件,但它从原始文件中删除了实际文本(Qt GUI C++
【中文标题】尝试打开并读取 .txt 文件,但它从原始文件中删除了实际文本(Qt GUI C++【英文标题】:Trying to open and read a .txt file, but it deletes the actual text from the original file (Qt GUI C++ 【发布时间】:2019-11-11 18:10:31 【问题描述】:我正在尝试打开并读取一个 .txt 文件,然后在标签中显示其中的一行,但该行未显示,但所有内容均已从原始选定文件中删除。有什么想法吗?
QString filename = QFileDialog::getOpenFileName(this,
tr("Open File"),
"/Users/kat/Documents/Programming 2/Assignment/Quizzes",
"All Files (*.*);;Text File (*.txt)");
QFile file(filename);
if(!file.open(QFile::WriteOnly | QFile::Text))
QMessageBox::warning(this, tr("File Not Open"),"File Cannot Be Opened");
QTextStream in(&file);
QRegularExpression re("Name: ");
QString title = in.readLine();
title.remove(re);
ui->label_4->setText(title);
file.flush();
file.close();```
【问题讨论】:
如果你想阅读,请不要以WriteOnly
打开它。
【参考方案1】:
您已打开文件进行写入而不是读取if(!file.open(QFile::WriteOnly | QFile::Text))
。如果你需要读取一个文件,你不应该这样做file.flush()
。
【讨论】:
谢谢。我将其更改为 ReadOnly,现在它可以完美运行了!以上是关于Qt中如何将一个文本文件打开后里面数据以二进制读取,.txt中数据为01 0c cd 04 00 03……的主要内容,如果未能解决你的问题,请参考以下文章