Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/02/2014, 15:20
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: problemas con los acentos lenguaje c

Cita:
Iniciado por agustinsaid Ver Mensaje
Hola gracias por responder...lo que me muestra en consola son simbolos y letras acentuadas que no tienen nada que ver....intente leyendo caracter por caracter y leyendo la cadena completa y de ambas formas me hace lo mismo, pasa que al tomar el caracter con acento del txt no me lo transforma a codigo ascii para que lo imprima correctamente en consola
Prueba a usar "setlocale" que usa los caracteres indicados en el segundo de sus argumentos. En el ejemplo que te pongo es Spanish:



Eso sí, como es Spanish el punto decimal no es el punto sino la coma:

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<locale.h>
  3. #include <stdlib.h>
  4. #define NOM_ARCHIVO  "txt6.txt"
  5.  
  6. int main(void)
  7. {
  8.     setlocale(LC_ALL, "Spanish");
  9.     FILE *entrada;
  10.     char linea [80];
  11.     if ((entrada = fopen(NOM_ARCHIVO, "w")) == NULL){
  12.       perror(NOM_ARCHIVO);
  13.       return EXIT_FAILURE;
  14.    }
  15.     fprintf (entrada,"¡Hola mundo! años canción 2²\n");
  16.     fprintf (entrada,"España y olé  número y línea");
  17.     fclose(entrada);
  18.     if ((entrada = fopen(NOM_ARCHIVO, "r")) == NULL){
  19.       perror(NOM_ARCHIVO);
  20.       return EXIT_FAILURE;
  21.    }
  22.    while (! feof(entrada)){
  23.           fgets(linea, 80, entrada);
  24.           puts(linea);
  25.   }
  26.   fclose(entrada);
  27.   return 0;
  28. }