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

[SOLUCIONADO] Caracteres especiales en archivos

Estas en el tema de Caracteres especiales en archivos en el foro de C/C++ en Foros del Web. Llevo un tiempo programando en C++ por motivos de estudios, y estoy realizando una práctica. En la cual me ha surgido el siguiente problema con ...
  #1 (permalink)  
Antiguo 01/01/2013, 18:03
 
Fecha de Ingreso: septiembre-2008
Ubicación: Valencia
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 2
Caracteres especiales en archivos

Llevo un tiempo programando en C++ por motivos de estudios, y estoy realizando una práctica. En la cual me ha surgido el siguiente problema con los caracteres especiales como los acentos y la ñ.

Cuando accedo al archivo donde tengo un listado de palabras con acentos dentro del programa me aparecen con el acento sin ningún problema, pero luego si vuelvo al archivo original donde deberían haber letras con acentos hay espacios en blanco, y pasa lo mismo en archivo que creo en el tiempo de ejecución del programa, donde deberían haber letras con acentos hay espacios.

Se que esos espacios son las letras con caracteres especiales, pero no aparecen, ¿Que es lo que debo hacer para que aparezcan?
__________________
Siempre inmerso en nuevos proyectos.

Cuando estoy activo puedes verme en //LiveCoding
  #2 (permalink)  
Antiguo 01/01/2013, 19:50
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Caracteres especiales en archivos

Según he entendido, tienes un archivo fuente del que tomas unos datos, después haces algo con ellos y los vuelves a volcar en un fichero. Ahí es donde tienes el problema ¿no?
Cambia a otras codificaciones el fichero fuente a ver si sigues teniendo ese problema.
Un saludo.
  #3 (permalink)  
Antiguo 01/01/2013, 20:06
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid, pero soy de Las Palmas
Mensajes: 6
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Caracteres especiales en archivos

necesitas usar cadenas wstring o wchar_t si son estilo C
  #4 (permalink)  
Antiguo 02/01/2013, 07:07
 
Fecha de Ingreso: septiembre-2008
Ubicación: Valencia
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Caracteres especiales en archivos

Lo que tengo que hacer es una especia de corrector ortográfico, en el que me pasan el diccionario, y yo lo leo y lo paso a una lista, pero una vez extraigo los datos del documento (un txt) donde había caracteres hay espacios que leídos en C++ si que son los caracteres especiales, y al guardarlos en otro archivo también en txt me sucede los mimos se que están porque leídos son esos caracteres, pero como tales no aparecen si lo abro por ejemplo con el bloc de notas. Y cambiando la configuración si que me aparece, pero tengo que hacerlo sin cambiar nada.

De ahí mi pregunta de si hay algún código en C++ o algo similar, porque ya he probado a cambiar las letras por su código ASCII extendido CP437.
__________________
Siempre inmerso en nuevos proyectos.

Cuando estoy activo puedes verme en //LiveCoding
  #5 (permalink)  
Antiguo 05/01/2013, 01:53
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Caracteres especiales en archivos

Recuerda que si es signed char uno de los bits de la máscara se usa para indicar el signo por lo que son 7 bits en total, ergo, la capacidad total de representación es de 2^7 = 128 caracteres, entonces tiene que ser un unsigned char.

Si tienes problemas puedes usar wstring que es una analogía de string compuesta por wchar_t.

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Etiquetas: caracteres, especiales, programa
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 19:42.