2011-06-05 19 views
8

tengo un problema:cómo convertir std :: string a QString

std::string str("character/test/raw"); 
qDebug() << QString::fromStdString(str); 

y la salida es:

"]AIIIIIIIIIIIIIIIIIIIIIIIIIIIII" 

Creo que el problema es en la codificación, pero no saben cómo arreglalo. Por favor, ayuda

Respuesta

6

¿Está su QT compilado con la opción compatible con STL habilitada?

Quizás pueda usar fromUtf8 o una de las otras funciones estáticas de QString.

+0

He instalado el VC++ 2008 compilado la versión última de qt.nokia.com – Andrew

+0

qDebug() << QString :: fromUtf8 (str. data(), str.size()); Eso ayudó, gracias – Andrew

+1

@Andrew 'QString :: fromUtf8 (str.c_str())' debería ser suficiente. –

8

cadena a const char *, a continuación, a QString

std::string str("character/test/raw"); 
QString qstr(str.c_str()); 
qDebug() << qstr; 
Cuestiones relacionadas