J'ai un problème que je ne comprends pas. J'ajoute des caractères à une chaîne standard. Quand je les sors, la valeur imprimée n'est pas ce à quoi je m'attendais.Comportement de chaîne standard avec des caractères en C++
int main (int argc, char *argv[])
{
string x;
unsigned char y = 0x89, z = 0x76;
x += y;
x += z;
cout << hex << (int) x[0] << " " <<(int) x[1]<< endl;
}
La sortie: ffffff89 76
Ce que je pensais: 89 76
Toutes les idées que ce qui se passe ici? Et comment puis-je résoudre ce problème?
Alors, à quoi vous attendriez-vous? – Howard
où est défini 'z'? OK je le vois maintenant dans l'édition. – danishgoel
N'utilisez jamais de lancers implicites! – KillianDS