之前多次出现这个问题,后来解决之后再出现就忘了怎么弄了,这次记录一下。
我这几次出现这种错误都是因为在Qt中将QString转const char* 时出现的。我的做法是有一个函数ToString()转为std::string
1 std::string MyProcessObject::ToString(QString strRaw) 2 { 3 return std::string((const char *)strRaw.toLocal8Bit()); 4 }ToString()
这么做是因为有时候会有中文路径问题。
然后每次在需要传入const char* 时我都是 ToString(QString).c_str(),这样直接传参就会出现错误。解决方法是:
string str=ToString(QString);
之后传入 str.c_str()就可以了,具体原因还不清楚。
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2012anzhuangwenti/2020/0725/4954.html