Bonjour,
Je suis tout nouveau sur ce forum, merci d'avance pour votre aide !
Je développe avec QT. Dans mon application, je récupère la valeur d'un champ de la forme "20:39:3A:B1" dans une QString. Je split en fonction de ":" pour obtenir un tableau de QString contenant "20" puis, "39", ...
Mon problème, c'est que je ne sais pas comment faire pour dire au programme que le contenu de ma QString est une valeur hexadécimal...
Voici le code qui fonctionne impeccable:
Ma question: Comment faire l'équivalent en C++ pure sans ce "char hex[5]" et strtol(), mais plutôt avec un stringstream ou autres?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 QString strAscii; QStringList strListHex = teHex->toPlainText().toLower().split(":"); for(int i=0;i<strListHex.size();i++) { char hex[5], *stop; hex[0] = '0'; hex[1] = 'x'; hex[2] = strListHex.at(i).toStdString().at((size_t) 0); hex[3] = strListHex.at(i).toStdString().at((size_t) 1); strAscii.append((char)strtol(hex, &stop,16)); } teASCII->setText(strAscii);
Merci beaucoup !
Partager