QT+PCL 读取文件乱码问题
Posted 针尖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT+PCL 读取文件乱码问题相关的知识,希望对你有一定的参考价值。
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 读取文件乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Pcl Storage 在 Xamarin 表单中读取文件
PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段