std::wstring 如何转换为std::string

yangyunzhao yangyunzhao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
或者将wchar_t*转换为char*也可以的。
需要能够跨平台的。我的主程序是QT


QString fileName = QFileDialog::getOpenFileName(this,tr("Open RDF DB"),".",tr("RDF DB files (*.rdf)"));//此处就是通过对话框得到文件路径

std::wstring x = rdfFileName.toStdWString(); //跟踪进来的时候此处是正常的值
std::string xx = WString2String(x); //而此处的值就不是正常的值了,路径中的中文全部变成了乱码

//我后面还要调用别人写好的一个接口去打开这个文件,而别人给我的接口中,参数是const char*
//我如果用x.c_str()要报错,不能从const w_char* 到const char*。
//而用xx.c_str(),更不行了啊


有什么方法将std::wstring转换为std::string,或者将const wchar_t*转换为char*也好啊。
对了,在调用别人接口的时候,如果我直接传参数 "c:\\中文\\1.txt"是可以的
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
yangyunzhao
C++ 语言 65,214 成员 250,514 内容