用QFile传文件.read和.write返回的大小都和原文件一样,但是传出来的文件有缺失。请问大家可能是什么情况
是不是 QFile open 的模式不一样? 比如一个 QIODevice::Text 另一个没有
或者是编码问题 一个是 GB2312 另一个是 utf-8
QFile::open() 函数打开文件时需要传递 QIODevice::OpenModeFlag
枚举类型的参数,决定文件以什么方式打开,QIODevice::OpenModeFlag 类型的主要取值如下:
读文件显示到QPlaintextEdit上
QString fileName = "test.txt";
QFile file(fileName);
//文件不存在
if (!file.exists())
return false;
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return false;
//设置QPlaintextEdit显示结果
ui->plaintextEdit->setPlainText(file.readAll());
file.close();
QPlaintextEdit上写文件到本地
QString fileName = "save.txt";
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return false;
//整个内容作为字符串
QString str=ui->palinTextEdit->toPlainText();
//转换为字节数组
QByteArray strBytes=str.toUtf8();
//写入文件
file.write(strBytes,strBytes.length());
//关闭
file.close();