日志
qt 文件路径中包含中文打开失败
2017-04-19 17:59
问题描述:qt5.5.1 编译器为mingw ,在打开包含中文路径的照片时,fopen失败
QString filename =QString("E:\\备份\\SqlserverDatabase\\mainwindow.h"); std::string str = filename.toStdString(); const char* exifstr = str.c_str();File *fp = fopen(exifstr,"r"); if (fp != NULL) { qDebug()<<"=============================="; int st = fseek(fp, 0, SEEK_END); qDebug()<<"tell me the file size " <<ftell(fp); } else { qDebug()<<"xxxxxxxxxxxxxx\n"; } fclose(fp); 总是失败; 解决方案: QByteArray arr = QFile::encodeName(QString("E:\\备份\\SqlserverDatabase\\mainwindow.h")); FILE *fp = fopen(arr.constData(), "r"); if (fp != NULL) { qDebug()<<"=============================="; int st = fseek(fp, 0, SEEK_END); qDebug()<<"tell me the file size " <<ftell(fp); } else { qDebug()<<"xxxxxxxxxxxxxx\n"; } fclose(fp); 将目录用QFile的encodeName进行编码,在arr.constData()转化为const char* |
上一篇: 无