QTextCodec *code = QTextCodec::codecForName("GB2312");//解决中文路径问题
QFile file(strFileName);
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString line;
QTextStream in(&file); //用文件构造流
line = in.readLine();//读取一行放到字符串里
qDebug() << line;
while (!line.isNull())//字符串有内容
{
QString strContext = line;
std::string strItemContext = code->fromUnicode(line.toStdString().c_str()).data();
strContext = strItemContext.c_str();
}
if (strContext.contains("【"))
{
strContext.replace("【", ";");
strContext.replace("】", ";");
strContext.replace(",", ";");
strContext.replace("--", ";");
QStringList splitArray = strContext.split(";");
if(splitArray.size()>=5)
{
}
}
}
文件如下:
gbk文件如上,如果是utf8的下面可以参考
QTextCodec* codec = QTextCodec::codecForName("UTF-8");
ConverterState state;
QByteArray array = codec.fromUnicode(buffer, bufferLen, &state);
QString text = QString::fromUtf8(array);