In order to convert a qstring to a char *, then you first need to get a Latin1 representation of the string by calling tolatin1 () on it which will return a qbytearray. then call data () on the qbytearray to get a pointer to the data stored in the byte array. see the documentation:
See the following example for a demonstration:
Int main (INT argc, char ** argv)
{
Qapplication app (argc, argv );
Qstring str1 = "test ";
Qbytearray BA = str1.tolatin1 ();
Const char * c_str2 = ba. Data ();
Printf ("str2: % s", c_str2 );
Return app.exe C ();
}
Note that it is necessary to store the bytearray before you call data () on it, a call like the following
Const char * c_str2 = str2.tolatin1 (). Data ();
Will make the application crash as the qbytearray has not been stored and hence no longer exists.
To convert a char * To A qstring you can use the qstring constructor that takes a qlatin1string, e. g:
Qstring string = qstring (qlatin1string (c_str2 ));
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/HighOman/archive/2010/02/27/5331001.aspx