Conversion de type
D'entier en chaine
si l'entier est monint sa correspondance en chaine (QString) s'obtient par :
QString::number(monint)
De chaine en entier
QString str1="128";
int num1 = str1.toInt(&ok); // ok == true et conversion réussie : num1 ==128
Remarque : Le même principe existe pour les autres types de variables numériques
- toLong()
- toShort()
- toUInt()
- toUShort()
- toULongLong()
Forcer un type en char *
Si la variable est déclarée :
unsigned char * filecontent;
Mais que la fonction read nécessite un char *, on peut imposer le type :
file.read((char *)filecontent, 10000);
D'un QString en *char
QString machaine;
machaine="Bonjour";
qDebug(machaine.toStdString().c_str(); //le parametre de la fonction qDebug doit être un pointeur de carcatère.
D'un caractère en valeur ASCII
int ascii;
QString motInitial="test";
ascii=motInitial[o].toLatin1();//ascii prend la valeur 116
Dans le sens inverse
ascii=ascii-0x20;
motInitial[0]=ascii; //le premier caractère est devenu T