C++ 从Qstring到std::string的转换引发异常
令人惊讶的是,下面的代码抛出了一个异常C++ 从Qstring到std::string的转换引发异常,c++,qt4,C++,Qt4,令人惊讶的是,下面的代码抛出了一个异常 QString qtemp = QDir::tempPath(); std::string temp = qtemp.toStdString(); std::cout<<temp<<std::endl; QString qtemp=QDir::tempPath(); std::string temp=qtemp.toStdString(); std::cout如果您混合调试和发布DLL,这是一个已知症状。如果您混合调试和发布
QString qtemp = QDir::tempPath();
std::string temp = qtemp.toStdString();
std::cout<<temp<<std::endl;
QString qtemp=QDir::tempPath();
std::string temp=qtemp.toStdString();
std::cout如果您混合调试和发布DLL,这是一个已知症状。如果您混合调试和发布DLL,这是一个已知症状。您能发布一个完整的、可编译的程序来复制它吗(甚至可能包括.pro文件)?如果我在main()
函数中删除这些行,并添加相应的#include
s,我看不出有问题。如果路径包含unicode字符,则此代码可能有问题。@Michael Burr-不幸的是,这是我程序的一小部分,提供.pro文件并不理想。然而,我尝试在节目中每隔一行评论一次,仍然存在同样的问题@wilhelmtell-解决方案是什么?改用.toStdWString()
和std::wstring
。你能发布一个完整的、可编译的程序来复制它吗(甚至可能包括.pro文件)?如果我在main()
函数中删除这些行,并添加相应的#include
s,我看不出有问题。如果路径包含unicode字符,则此代码可能有问题。@Michael Burr-不幸的是,这是我程序的一小部分,提供.pro文件并不理想。然而,我尝试在节目中每隔一行评论一次,仍然存在同样的问题@wilhelmtell-解决方案是什么?使用.toStdWString()
和std::wstring
代替。您先生为我省了很多麻烦您先生为我省了很多麻烦