Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Cambia idioma fecha sistema

Estas en el tema de Cambia idioma fecha sistema en el foro de C/C++ en Foros del Web. Saludos, tengo la siguiente funcion: Código: void tiempo(void){ time_t tiempo; char fecha[40]; struct tm *fecha_actual; tiempo = time(NULL); fecha_actual= localtime(&tiempo); strftime( fecha, 40, "%d de ...
  #1 (permalink)  
Antiguo 01/02/2010, 06:26
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 17 años, 2 meses
Puntos: 0
Cambia idioma fecha sistema

Saludos, tengo la siguiente funcion:

Código:
void tiempo(void){
 time_t tiempo;
  char fecha[40];
  struct tm *fecha_actual;
  tiempo = time(NULL);
  fecha_actual= localtime(&tiempo);
  strftime( fecha, 40, "%d de %B del %Y",fecha_actual );
  printf( "%s", fecha );
}
Pero la fecha me la imprime en ingles
Es decir

Me cone January en vez de enero... etc...

Hay alguna forma de poner eso en español?

__________________________________________________ ____________________

EDITO: Tambien como puedo poner el simbolo del EURO en C?

He provado con:

Código:
printf("%d", 128);
Pero no funciona :S



Saludos y gracias
__________________
---> Webnox.es

Última edición por benekid; 01/02/2010 a las 06:34 Razón: (simbolo euro)
  #2 (permalink)  
Antiguo 01/02/2010, 07:54
 
Fecha de Ingreso: enero-2010
Mensajes: 24
Antigüedad: 14 años, 10 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. }
  #3 (permalink)  
Antiguo 01/02/2010, 15:03
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Cambia idioma fecha sistema

Muchas gracias lo de la fecha me ha servido perfectamente ;)
__________________
---> Webnox.es

Etiquetas: fechas, sitemap, idiomas, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.