Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2010, 07:54
Megamouse
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Cambia idioma fecha sistema

Creo que como esos valores los recupera directamente de la time.h siempre van a estar en ingles. Te tocara hacer la traduccion a mano (define un array con el nombre de los meses y le pasas el valor de strftime (%m)-1.

Código C:
Ver original
  1. void tiempo(void)
  2. {
  3.   time_t tiempo;
  4.   char fecha[9];
  5.   char meses[12][20]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
  6.   char aux_mes[3];
  7.  
  8.   struct tm *fecha_actual;
  9.  
  10.   memset (fecha, 0, sizeof(fecha));
  11.   memset (aux_mes, 0, sizeof(aux_mes));
  12.  
  13.   tiempo = time(NULL);
  14.   fecha_actual= localtime(&tiempo);
  15.   strftime (fecha, 9, "%Y%m%d", fecha_actual);
  16.  
  17.   memcpy (aux_mes, fecha+4, 2);
  18.  
  19.   printf ("%s de %s del %.4s", fecha+6, meses[atoi(aux_mes)-1], fecha);
  20. }

El C tira de las librerias normativas por lo que en la tabla de caracteres ASCII no existe el '€' (Ni idea de como imprimir simbolos no normativos):

Código C:
Ver original
  1. int main (void)
  2. {
  3.   unsigned int i;
  4.  
  5.   for (i=0; i<=255;i++)
  6.     printf ("Valor [%03d] -> Letra [%c]\n", i, i);
  7.  
  8.   getch();
  9.   return 0;
  10. }