中文路径,QString转为const char *出现乱码解决方法_qstring中文转 const char乱码-程序员宅基地

技术标签: VS+QT遥感影像处理软件  c++  

vs2017+qt5.9,链接库为GDAL,读取dem高程时,发现内存使用错误,经过检查。

发现在读取中文路径的时候,qstring转const char *的时候,出现乱码。

最初使用的是:weixin_33853794作者的方法,链接为:链接1

QString FileName = "mv_" + QString("%1.txt").arg(iPoc);//此处可以实现动态赋值
std::string str = FileName.toStdString();
const Char *mvFileName = str.c_str();

无法读取中文路径后,经过寻找,找到了下面的代码,博客讲的很详细。链接为链接

代码1为:

 QString  str;

       QByteArray   aByteArray  =  str.toLatin1();//先把转化为QByteArray的结果存储起来

       const char *s =  aByteArray.data();//再调用data()或constData()

代码2为:

QString  str;

const char *temStr = str.toLocal8Bit();//(1)

这个样子的转换也是经常使用的,朋友也说使用这个方法。但是用在代码中,哎呀,还是乱码??怎么会出现这个样子呢,是因为长的丑吗,作为初学者,对代码1进行了一点修改,代码如下。

修改后可以正常读取中文路径。

为什么会这样,暂时还不知道,有知道的麻烦留言,谢谢。

Qstring str;
QByteArray   aByteArray = str.toLocal8Bit();
const char *pszFile = aByteArray.data();

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38633071/article/details/112853001

智能推荐

Install mysql-noinstall-5.1.32-win32.zip-程序员宅基地

文章浏览阅读250次。1.File: mysql-noinstall-5.1.32-win32.zip2.Add mysql service:%Mysql_HOME%\bin>mysqld --install mysql5.13.%Mysql_HOME%\bin>net start mysql 本文转自danni505 51CTO博客,原..._mysql-noinstall-5.1.55-win32

tp5.0安装-程序员宅基地

文章浏览阅读61次。2019独角兽企业重金招聘Python工程师标准>>> ..._tp5 topthink/framework

磁盘加密,磁盘阵列,lvm_阵列文件夹加密-程序员宅基地

文章浏览阅读630次。1.磁盘加密fdisk /dev/vdb ##创设备cryptsetup luksFormat /dev/vdb1 ##安装加密层cryptsetup open /dev/vdb1 westos ##打开加密层mkfs.xfs /dev/mapper/westos ##格式化解密后的设备mount /dev_阵列文件夹加密

LOJ #6208. 树上询问-程序员宅基地

文章浏览阅读386次。线段树,树链剖分_#6208. 树上询问

Js递归遍历所有子节点_js递归遍历子元素-程序员宅基地

文章浏览阅读3k次。js递归遍历json所有数据// 递归遍历chartOptions 删除掉没有显示的一些属性function getAllJson(jsons, name, sign) { if(name == "" || name == undefined) { name = "json" } for(key in jsons) { var k = name + sign + key; if(!(jsons[key] instanceof Obj_js递归遍历子元素

乳酪gi_Windows 8生产力:谁动了我的奶酪? 哦,是的。-程序员宅基地

文章浏览阅读471次。Disclaimer: I don't work for the Windows Team. I installed Windows 8 on my home desktop (this giant multi-monitor epic beast) with my personal MSDN account and wrote this on my own time. This blog is ..._man and beast zoom

随便推点

python 获取线程id_python多线程——获取子线程中的值-程序员宅基地

文章浏览阅读1.2k次。点击上方蓝色文字一键关注 点击上方“python学习专栏”,选择“置顶公众号”干货、福利第一时间送达!如何开启多线程?1、定义自己的函数2、加入线程3、启动线程4、等待线程结束看下面的代码from threading import Threadimporttime#定义一个函数,等待5秒后输出datadeffun():data = "123"time.sleep(5)print(data)..._python 获取子线程的变量值

RxJava + Retrofit + MVP(看完还不明白,吐槽我。适合初学者,VIP版MVP框架!!)_mvp+retrofit+rxjava-程序员宅基地

文章浏览阅读1.7k次。前言:还是因为公司特别闲,把基础总结总结。如果对相关知识含糊不清,会导致你无法随意扩展你想要的框架和功能。但是觉得作为程序员这行业,只要踏进来了,不是在学习的路上就是在被淘汰的路上,加油!!本文章将针对所有用户,大家根据自己的所需自行跳过一些章节。首先还是说说这个框架支持干一些什么事:支持所有网络请求类型,get,post,put…(废话了!!Retrofit已经干了所有事情)支持上传文件..._mvp+retrofit+rxjava

最简单的matlab程序,[求助]想利用MATLAB做一个最简单的杂波仿真程序,不知道有哪些专用函数啊?...-程序员宅基地

文章浏览阅读215次。回复: [求助]想利用MATLAB做一个最简单的杂波仿真程序,不知道有哪些专用函数啊? clear all;close all;clcazi_num=2000;fr=1000;lamda0=0.05;sigmav=0.7;sigmaf=2*sigmav/lamda0;% rand(‘state’,sum(100*clock));d1=rand(1,azi_num);% rand(‘stat..._matlab 对整流器加杂波

SkyWalking 源码分析 —— 调试环境搭建_skywalking ui github-程序员宅基地

文章浏览阅读725次。1. 依赖工具Maven Git JDK IntelliJ IDEA2. 源码拉取从官方仓库https://github.com/OpenSkywalking/skywalkingFork出属于自己的仓库。为什么要Fork?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。????使用IntelliJ IDEA从Fork出来的仓库拉取代码。拉取完成后,Maven会下载依赖包,可能会花费一些时间,耐心等待下。本文基于master分支。..._skywalking ui github

wxpython 控件,对话框,光标,菜单_wxpython 光标 事件-程序员宅基地

文章浏览阅读4.7k次。转自:http://blog.csdn.net/xiao_bodian/article/details/6448266一、静态文本控件wx.StaticText(parent, id, label, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, name="staticText")wx.StaticTe_wxpython 光标 事件

python逐行读取与逐行写入txt文件_python逐行写入txt-程序员宅基地

文章浏览阅读1.7w次,点赞7次,收藏23次。逐行读取f = open("test.txt","r") lines = f.readlines() #读取全部内容 ,并以列表方式返回 for line in lines print line 逐行写入# -*-coding:utf8-*-# encoding:utf-8name_list = [1, 2, 3]for i in tqdm(name_list): f = open('D:/project/tm_caption/file_names.tx_python逐行写入txt

推荐文章

热门文章

相关标签