2010-11-07 6 views
10

Ist es möglich, ostream Hexadezimalzahlen mit den Zeichen A-F und nicht a-f auszugeben?Wie kann ich hexadezimale Zahlen mit A-F (anstatt a-f) streamen?

int x = 0xABC; 
std::cout << std::hex << x << std::endl; 

Diese gibt abc während ich ABC sehen würde es vorziehen.

+2

Könnte der Abgeordnete dieser Frage bitte so freundlich sein, mir zu erklären, was daran so verbrecherisch ist? Frage? In der Tat hatte ich MSDN für "hex" in der Hoffnung geöffnet, die Antwort zu finden, aber ich tat es nicht. Also, was ist los mit dieser Frage? –

+0

Ich weiß es nicht, aber hier ist eine Erwiderung, um dem entgegenzuwirken. Ich liebe es, das zu tun, weil es fair ist (vor allem für diejenigen, die eine echte Frage haben - SO soll für alle Ebenen von Entwicklern sein, nicht nur anstößige Besserwisser wie ich), sondern vor allem, weil es die Drive-by-Downvoter verärgert Ich kann mir nicht einmal die Mühe machen, einen Kommentar zu hinterlassen, damit eine Frage verbessert werden kann. Natürlich können sie meine Antwort als Vergeltung ablehnen, aber es ist nicht so, als hätte ich keine Reputation :-) – paxdiablo

+0

@paxdiablo: Mein Gefühl über Vergeltungs-Downvotes ist, dass jemand, der sich wahrscheinlich in solchen Unsinn verwickelt, weniger als die Hälfte meines Reps hat. also werde ich das gewinnen. Da ich weniger als die Hälfte Ihrer Wiederholungen habe, können Sie doppelt so viele ... –

Antwort

12

Ja, können Sie std::uppercase verwenden, der Punkt und hexadezimale Integer-Ausgabe Affekte floating:

std::cout << std::hex << std::uppercase << x << std::endl; 

wie im folgende kompletten Programm:

#include <iostream> 
#include <iomanip> 

int main (void) { 
    int x = 314159; 
    std::cout << std::hex << x << " " << std::uppercase << x << std::endl; 
    return 0; 
} 

die Ausgänge:

4cb2f 4CB2F 
+1

Wird dieser Modifikator nur die Hexadezimalzahlen beeinflussen, oder wird er auch die Strings beeinflussen? –

+2

Hex-Zahlen und Exponenten in wissenschaftlicher Notation. Wenn Sie Strings ausführen möchten, finden Sie unter http://stackoverflow.com/questions/735204/convert-a-string-in-c-to-upper-case – paxdiablo