Maison >développement back-end >C++ >Comment puis-je imprimer la valeur entière d'un caractère en C à l'aide de « cout » ?
Impression de caractères sous forme d'entiers en C à l'aide de cout
Lorsque vous essayez d'afficher des caractères sous forme d'entiers à l'aide de la fonction cout, vous pouvez rencontrer des résultats inattendus. En effet, cout traite généralement les caractères comme des caractères plutôt que comme des entiers de 8 bits. Cependant, les types de caractères en C sont effectivement des types intégraux.
Pour résoudre ce problème et garantir que les caractères sont imprimés sous forme d'entiers, une solution efficace consiste à utiliser l'opérateur unaire plus ( ). Cet opérateur promeut le caractère vers un type de données primitif (par exemple, int) qui peut être imprimé sous forme de nombre, quel que soit son type d'origine.
char a = 0xab; cout << +a; // Output: 171
En appliquant l'opérateur unaire plus, le caractère a est converti à un int. Ce casting préserve la valeur numérique du caractère et permet de l'imprimer sous forme d'entier.
Il est important de noter que cette approche est valable tant que le type de données pour le type de caractère (char, signé char, ou unsigned char) fournit un opérateur unaire plus avec une sémantique standard. De plus, définir une classe pour représenter un nombre avec un opérateur plus unaire qui renvoie la valeur de l'objet actuel (par valeur ou par référence à const) permet d'imprimer le caractère sous forme de nombre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!