[C con Clase] ¿que significa la sentencia .....return *this
Steven Davidson
srd4121 en njit.edu
Jue Sep 23 01:34:25 CEST 2010
Hola Wolverine,
On 9/22/2010 2:46 PM, wolverine_ch wrote:
>
> uhmmm haber yo ya he intentado poner con un printf esto:
>
> 1.printf("\0x2554");
> 2.printf("\0xC9");
> 3.printf("╔");
>
> :-|Pero en ninguno de los tres intentos me sale el icono que raro o
> asi no es la manera?...(uso turbo C++ 3.0)
Al hacer "\0xC9" estás diciendo que la cadena contiene inicialmente el
carácter nulo, seguido de los caracteres 'x', 'C', y '9', terminando en
un carácter nulo implícito. Es decir, ya has colocado el carácter nulo
nada más empezar, por lo que 'printf()' no imprime nada. Lo mismo sucede
con "\0x2554".
TC++ desconoce por completo Unicode, así que no te va a funcionar.
Además, Unicode requiere más bytes por carácter y adicionalmente,
'printf()' no puede imprimir caracteres "multibyte".
El último debería haber funcionado, si escribiste ese carácter dentro de
MS-DOs o en la consola. Si no, entonces no te va a funcionar porque el
editor y el compilador tratan los códigos de diferente manera. Por esta
razón, se debería usar ASCII, porque es estándar.
La solución es usando el escape de secuencia '\x' para indicar un número
en hexadecimal. Esto es,
printf( "\xC9" );
También puedes hacer esto:
printf( "%c", 0xC9 );
Espero que esto te aclare las dudas.
Steven
Más información sobre la lista de distribución Cconclase