Maison >développement back-end >C++ >Comment puis-je afficher un caractère sous forme d'entier en utilisant « cout » en C ?

Comment puis-je afficher un caractère sous forme d'entier en utilisant « cout » en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 08:56:16430parcourir

How Can I Output a Character as an Integer Using `cout` in C  ?

Sortie d'un caractère sous forme d'entier à l'aide de Cout

En C, la fonction cout traite généralement les types de caractères (char, caractère signé et caractère non signé) comme caractères pour la sortie . Cependant, il existe des moyens de surmonter ce comportement et d'afficher les caractères sous forme d'entiers.

Une approche consiste à utiliser l'opérateur unaire plus ( ). En appliquant cet opérateur à un caractère, il promeut le caractère en un type qui peut être imprimé sous forme de nombre. Par exemple :

char a = 0xab;
cout << +a; // Promotes a to a type printable as a number

Cela affichera la valeur du caractère a (171) sous forme d'entier.

Une autre alternative consiste à créer une classe qui représente un nombre et définit un plus unaire opérateur pour cette classe. Dans ce cas, l'opérateur peut simplement renvoyer la valeur de l'objet. Par exemple :

class Number {
public:
    Number(char c) : value(c) {}
    operator int() const { return value; }

private:
    char value;
};

int main() {
    Number a(0xab);
    cout << int(a); // Prints the value of a as an integer
}

En convertissant le caractère en une instance de la classe Number, puis en le convertissant en un entier, nous pouvons effectivement générer le caractère sous forme d'entier.

Ces approches fournissent plus de flexibilité dans le contrôle de la sortie des types de caractères sous forme d'entiers grâce à l'utilisation de la fonction cout.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn