码迷,mamicode.com
首页 > 其他好文 > 详细

QT+PCL 读取文件乱码问题

时间:2017-10-07 18:36:56      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:导致   div   const   classname   处理程序   c_str   std   乱码问题   标准   

QT+PCL构建处理程序时,QT读取文件的文件名为QString类型,在PCL的读取pcd文件等函数上,文件名多为标准字符转类型std::string.如果之间转换,在QT中提供有转换函数toStdString().在文件名为中文时,转换结果在中文部分时出现乱码,导致文件读取失败。下面是解决办法

普通转换方法:

1 QString qstr;
2 string str;
3 str = qstr.toStdString();
4 qstr = QString::fromStdString(str);

对于适应中文乱码的转换方法:

1 std::string cstr;
2 QString qstring;
3 //从std::string 到QString
4 qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
5 //从QString 到 std::string
6 cstr = string((const char *)qstring.toLocal8Bit());
7 //不需要从gbk转到utf8
8 QString value_content = QString::fromStdString(vec[i].content);
9 QString value_classname = QString::fromStdString(vec[i].classname);

 

QT+PCL 读取文件乱码问题

标签:导致   div   const   classname   处理程序   c_str   std   乱码问题   标准   

原文地址:http://www.cnblogs.com/lvyalei/p/7635342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!