Heim >Backend-Entwicklung >C++ >Wie kann ich mit „cout' in C ein Zeichen als Ganzzahl ausgeben?
In C behandelt die Funktion cout normalerweise Zeichentypen (char, vorzeichenbehaftetes Zeichen und vorzeichenloses Zeichen) als Zeichen für die Ausgabe . Es gibt jedoch Möglichkeiten, dieses Verhalten zu umgehen und Zeichen als Ganzzahlen auszugeben.
Ein Ansatz besteht darin, den unären Plusoperator ( ) zu verwenden. Durch die Anwendung dieses Operators auf ein Zeichen wird das Zeichen in einen Typ umgewandelt, der als Zahl gedruckt werden kann. Zum Beispiel:
char a = 0xab; cout << +a; // Promotes a to a type printable as a number
Dadurch wird der Wert des Zeichens a (171) als Ganzzahl ausgegeben.
Eine andere Alternative besteht darin, eine Klasse zu erstellen, die eine Zahl darstellt und ein unäres Plus definiert Operator für diese Klasse. In diesem Fall kann der Operator einfach den Wert des Objekts zurückgeben. Zum Beispiel:
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 }
Indem wir das Zeichen in eine Instanz der Number-Klasse konvertieren und es dann in eine Ganzzahl umwandeln, können wir das Zeichen effektiv als Ganzzahl ausgeben.
Diese Ansätze bieten mehr Flexibilität bei der Steuerung der Ausgabe von Zeichentypen als Ganzzahlen durch die Verwendung der cout-Funktion.
Das obige ist der detaillierte Inhalt vonWie kann ich mit „cout' in C ein Zeichen als Ganzzahl ausgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!