四时宝库

程序员的知识宝库

关于QT读取文本的方式(传奇读取文本内容的方法)

先前,我读取EXCEL,txt文本的时候,是用以下的方式:

QString path=QFileDialog::getOpenFileName(this,"打开文件","D:\\");

if(path!=""){

QFile file(path);

file.open(QIODevice::ReadWrite);

QTextStream in(&file);

QString strline;

int num=0;

while(!in.atEnd()){

strline=in.readLine();

}

但是,在解析一种.db1文件格式的时候是乱码,我无法对其进行进一步解析并处理数据。

随后,我又用如下的方式,终于不是乱码,而是十六进制

QString path=QFileDialog::getOpenFileName(this,"打开文件","D:\\");

if(path!=""){

QFile file(path);

file.open(QIODevice::ReadWrite);

QByteArray arr= file.readAll();

for(int i=0;i<arr.size();i++){

int a=arr.at(i)&0xff;//arr.at(i)得到是是char型,随后,我对其进行位与得到int型,

随后得到真实的数据,可以进行近一步解析工作。

// qDebug()<<a<<"二进制"<<QString::number(a,2)<<"数组index"<<i;

}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接