Macros para controlar la conversión de cadenas de estilo QString y C

1. QT_NO_CAST_FROM_ASCII prohíbe la conversión automática de punteros o cadenas de estilo del lenguaje C a Unicode.

    char cc[] = "hello";
    QString str = cc;
    debug str;

    QString str2 = "hello";
    debug str2;

Aquí está la conversión, el puntero de carácter de estilo del lenguaje C:

const char * p = "hello";

Y la cadena de estilo en lenguaje C cc [] en un QString, agregue en el archivo pro:

DEFINES += QT_NO_CAST_FROM_ASCII

Después de eso, tales conversiones estarán prohibidas:

2. QT_RESTRICTED_CAST_FROM_ASCII prohíbe la conversión de matrices y permite que los punteros se conviertan a Unicode.

3. QT_NO_CAST_TO_ASCII prohíbe la operación de convertir QString en una cadena C.

La operación de inserción de QByteArray llamará a toAscii () de QChar para convertir QString en una cadena C e insertarla en QByteArray. Una vez habilitada esta macro, esta operación está prohibida. De manera similar, se prohíbe agregar QString, insertar QString, reemplazar QString, + = QString está prohibido, indexOf QString está prohibido y lastIndexOf QString está prohibido.

Supongo que te gusta

Origin blog.csdn.net/kenfan1647/article/details/113827620
Recomendado
Clasificación