Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo convertir QString a char* o viceversa

Cómo convertir QString a char* o viceversa

Para la conversión mutua, los ejemplos de referencia son los siguientes:

1. Convertir de QString a char *

Para convertir QString a char *, generalmente siga los siguientes pasos:

El primer paso es llamar al método toLatin1() de QString en el objeto QString para obtener el valor Latin1 de la cadena.

Tenga en cuenta que el prototipo de toLatin1() es el siguiente: q bytearray qstring::tolatin 1() const.

Devolverá un QByteArray.

Ejemplo:

QString qstr = "convert "

QByteArray ba = qstr 1();

En segundo lugar, en el. Llame al método data() en el objeto QByteArray obtenido en un solo paso para obtener un puntero a los datos almacenados en la matriz.

Ejemplo:

const char * CSTR = ba data();

El programa completo de la consola es el siguiente:

int main (int argc, char **argv)

{

QApplication app(argc, argv);

QString qstr = " convert

QByteArray ba = qstr . tolatin 1();

const char * CSTR = ba data(); / El resultado muestra

Return app.exec();

}

Por supuesto que hay otros métodos. La diferencia básica es si se debe usar toLatin1( de QString. ) o el método toStdString. El método toLocal8Bit() de QString permanece sin cambios.

2. Convierte char* a QString

La forma más conveniente es utilizar el objeto QLatin1String. un parámetro

Ejemplo:

const char * cstr

QString qstr = QString(qlatin 1 string(CSTR));

p>