2010-11-07 19 views
10

¿Es posible hacer números hexadecimales de salida ostream con los caracteres A-F y no a-f?¿Cómo puedo transmitir números hexadecimales con A-F (en lugar de a-f)?

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

Esto da salida a abc mientras que yo preferiría ver ABC.

+2

¿Podría el infractor de esta pregunta ser tan amable de explicarme qué es tan criminal acerca de esto? pregunta? Como cuestión de hecho, había abierto MSDN para 'hex' con la esperanza de encontrar la respuesta, pero no lo hice. Entonces, ¿qué pasa con esta pregunta? –

+0

No lo sé, pero aquí hay un voto favorable para contrarrestarlo. Me encanta hacer eso porque es justo (especialmente para aquellos que tienen una pregunta genuina - SO debe ser para _todos_ niveles de desarrollador, no solo odiosos sabelotodos como yo) sino sobre todo porque molesta a los downvoters drive-by que Ni siquiera se puede molestar en dejar un comentario para que se pueda mejorar una pregunta. Por supuesto, es posible que rechacen mi respuesta en represalia, pero no es como si no obtuviera rep :-) – paxdiablo

+0

@paxdiablo: mi sensación de venganza negativa es que cualquiera que pueda verse envuelto en esas tonterías tiene menos de la mitad de mi representante, así que voy a ganar ese. Como tengo menos de la mitad de su representante, puede durar el doble que ... –

Respuesta

12

Sí, puede utilizar std::uppercase, que afecta a punto y hexadecimal de partida enteros flotando:

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

como en el siguiente programa completo:

#include <iostream> 
#include <iomanip> 

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

que da salida:

4cb2f 4CB2F 
+1

¿Este modificador afectará solo a los números hexadecimales, o afectará a las cadenas también? –

+2

Números hexadecimales y exponentes en notación científica. Si desea hacer cadenas, vea http://stackoverflow.com/questions/735204/convert-a-string-in-c-to-upper-case – paxdiablo

Cuestiones relacionadas