QT4 中 GDAL 打开 QString 中的字符串路径

在 Windows 下面,使用 GDALOpen 打开 QString 的路径含有中文时,直接使用以下代码是无法成功的:

GDALDataset *inImg = (GDALDataset *) GDALOpen(qStrImgPath, GA_ReadOnly);
// 或者
GDALDataset *inImg = (GDALDataset *) GDALOpen(qStrImgPath.toStdString.c_str(), GA_ReadOnly);

需要做以下的转换:

QTextCodec *code = QTextCodec::codecForName("gb18030");
std::string strImgPath = code->fromUnicode(this->imgPath).data();
GDALDataset *inImg = (GDALDataset *) GDALOpen(strImgPath.c_str(), GA_ReadOnly);

你可能感兴趣的:(windows,String,qt)