一般地,可以用如下代码将QString转为std::string:
QString qsMyName = QString::fromLocal8Bit("我是小明");
std::string strMyName = qsMyName.toStdString(); // 此处有乱码
上面代码对于英文是没有问题的,但对于中文,则乱码。正确的做法是像下面那样:
QString qsMyName = QString::fromLocal8Bit("我是小明");
std::string strMyName = qsMyName.toLocal8Bit().constData();