近期在做QT项目,遇到了使用QFile打开带有中文路径的文件失败,百度搜索答案都是
QTextCodec *code = QTextCodec::codecForName("GB2312");
std::string name = code->fromUnicode(downloadFilePath).data();
并没有解决问题(或许是我用法不对)。
后面发现直接对QString的中文路径进行转码就可以了。
QString downloadFilePath = QFileDialog::getOpenFileName(this,tr("选择单个文 件"),"./",tr("*.bin"));
downloadFilePath.toLocal8Bit().constData();
QFile m_fFile(downloadFilePath);
if(!m_fFile.open(QIODevice::ReadOnly))
{
qDebug() << "open file fail";
return;
}