Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2018, 09:06
FEX_01
 
Fecha de Ingreso: enero-2012
Mensajes: 21
Antigüedad: 12 años, 2 meses
Puntos: 0
Leer archivo con caracteres especiales

Muy buenas amigos.

Recurro a ustedes por que me he cabeceado bastante con un problema y como mi fuerte no es C no he logrado solucionarlo.

Les comento:

Estoy haciendo un programa con varias funciones, una de ellas requiere leer un archivo de texto y guardar cada linea en un arreglo. esto lo hago con el siguiente código y funciona sin problemas:

Código C:
Ver original
  1. char message_data[256];
  2. char* languageMessages[256];
  3. fp_messages = fopen(messageDir, "r")
  4. int count = 0;
  5. while ((fgets(&message_data[0], 255, fp_messages) != NULL)){
  6.     memcpy(languageMessages[count], &message_data[0], strlen(&message_data[0]) + 1);
  7.     count++;
  8. }

Hasta aquí todo bien, el problema se presenta cuando el archivo contiene caracteres especiales (mayormente tildes) las cuales son representadas con símbolos extraños.

He probado algunas recomendaciones que hay por Internet, como por ejemplo utilizar "setlocale" de la siguiente forma:

Código C:
Ver original
  1. setlocale(LC_ALL, "en_US.UTF-8");

Y tambien utilizar variables "wchar_t" en lugar de "char" pero aun no logro resolverlo.

Desde ya agradezco cualquier ayuda. muchas gracias.