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();
在省略号处添加代码

参考技术A QTextStream content(file);

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……的主要内容,如果未能解决你的问题,请参考以下文章

QT读取文本文件

怎样把文件转换成二进制形式的文本文件?

C++ 以二进制形式读取文本文件并在控制台中显示

barnyard2怎么读取snort的二进制文件

qt读取文件内容全部为浮点数的二进制文件

java如何把一个以文本存储的文件转化为二进制文件