程序段是这样的:
QString filename="config.1";
QFile file (filename);
if(file.open(QIODevice::ReadOnly|QIODevice::Text)) {
QTextStream in(&file);
qDebug("Read config file %s",filename.toStdString().data());
while (!in.atEnd()) {
QString line=in.readLine();
const char *data = line.toStdString().data();
qDebug("line : \n %s",data);
// (void)readConfigItem(data);
}
}
else {
qWarning("read config error");
}
文本里的内容是
#[head]amount:1
但是运行程序后,输出:
#[head]
J? `tl
文本编码格式UTF-8的,如果将第二行的数字1去掉,则程序显示正确。
用line.toUtf8().data(),line.toLocal8Bit().data也都不行
不知何故?
谢谢!