问题原因
由于系统和QT编码格式不同,如我的设置中QT是Unicode编码格式,而系统是GBK编码格式。
可行解决办法之一
使用QTextCodec类进行流的转换。
读文件
QFile file(filename);
while(!file.atEnd())
{
QTextCodec *codec = QTextCodec::codecForName("GBK");
QByteArray line=file.readLine();
QString str=codec->toUnicode(line);
qDebug()<<str;
}
file.close();
写文件
QFile file(filename);
QString str="待写入字符串";
QTextCodec *codec = QTextCodec::codecForName("GBK");
QByteArray byte;
byte=codec->fromUnicode(str);
file.write(byte);
file.close();