QString::fromStdString()并QString::toStdString()想到,但它们创建了字符串的临时副本,所以据我所知,如果您不想拥有临时对象,则必须自己编写此函数(尽管什么更有效是一个问题)。
例子:
QString string="string";
std::string stdstring="string";
qDebug()<< (string.toStdString()==stdstring); // true
QString string="string";
std::string stdstring="std string";
qDebug()<< (str==QString::fromStdString(stdstring)); // false
Run Code Online (Sandbox Code Playgroud)
顺便在qt5中,QString::toStdString()现在使用QString::toUtf8()来执行转换,因此字符串的Unicode属性不会丢失(qt-project.org/doc/qt-5.0/qtcore/qstring.html#toStdString
| 归档时间: |
|
| 查看次数: |
5893 次 |
| 最近记录: |