Principiante en C++: Carácteres ñ and company en cout?

Estoy haciendo unas prácticas en C++, y no hay manera de que consiga introducir acentos y carácteres "extraños" con cout, usando iostream. He buscado en google y he visto este código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void Printf(const char *strText)
{
char ch;
short i,iLength;
iLength=strlen(strText);

for(i=0;i<iLength;i++){
ch=strText[i];
switch(ch){
case 'á':
printf("\240");
break;
case 'é':
printf("\202");
break;
case 'í':
printf("\241");
break;
case 'ó':
printf("\242");
break;
case 'ú':
printf("\243");
break;
case 'ñ':
printf("%c",-92);
break;
case 'Ñ':
printf("%c",-91);
break;
case 'Á':
printf("%c",-75);
break;
case 'É':
printf("%c",-112);
break;
case 'Í':
printf("%c",-42);
break;
case 'Ó':
printf("%c",-32);
break;
case 'Ú':
printf("%c",-23);
break;
default:
printf("%c",ch);
break;

}
}
}

int main()
{
Printf("Ñ ñ\n");
system("pause");
return 0;
}


pero como completo novato no sé cómo usarlo: ¿Esto es una librería? ¿O lo tengo que introducir en cada código fuente con el que vaya a usar estos carácteres?

Un saludo.
Para usarlo tienes que copiar la funcion Printf en tu codigo.
Si tienes un archivo con mas funciones, copialo alli y haces un include en tu main del fichero en cuestion.
Si miras el código de la función ves la manera de sacar caracteres especiales. Fijate que cada case del switch gigante es un caracter "raro" diferente, así que fijate como lo hace y repítelo tu.
En primer lugar, gracias a los dos.

Ahora vienen mis dudas como total novato:

¿La función printf cómo la he de usar respecto a la lista que he puesto? ¿He de ponerlo sólo una vez y ya cada vez que ponga ese carácter ya estará solucionado o cada vez?

¿En qué sección he de incluir printf? ¿Dentro del bloque main?

Muchas gracias y un saludo.
printf es una función para sacar mensajes por pantalla, hace practicamente lo mismo que tu haces con cout (aunque cout hace muchas mas cosas). Busca información sobre como funciona porque posiblemente sera la función mas documentada de todos los lenguajes de programación de la historia.
4 respuestas