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

Imprimir caracter en archivo

Estas en el tema de Imprimir caracter en archivo en el foro de C/C++ en Foros del Web. Hola, estoy haciendo un programa el cual lee un archivo, busca una palabra y la cambia por otra proporcionada por el usuario. El tema es ...
  #1 (permalink)  
Antiguo 07/02/2014, 06:42
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 13 años, 1 mes
Puntos: 20
Imprimir caracter en archivo

Hola, estoy haciendo un programa el cual lee un archivo, busca una palabra y la cambia por otra proporcionada por el usuario. El tema es cuando el usuario ingresa el caracter '°', en pantalla me aparece bien, pero en el archivo final me aparece el '|' (barra vertical).
Se me ocurre que puede ser por la configuración de Word, pero no estoy seguro.
Gracias. Saludos.
  #2 (permalink)  
Antiguo 07/02/2014, 16:47
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 8 años, 7 meses
Puntos: 38
Respuesta: Imprimir caracter en archivo

has un cout a ver el código asc que se esta imprimiendo.
o incluso has que se imprima ese carácter en asc para ver que le esta pasando.
Si el programa imprime el carácter asc2 correcto probablemente el problema esta en tu ordenador.
  #3 (permalink)  
Antiguo 09/02/2014, 05:07
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 9 años, 9 meses
Puntos: 83
Respuesta: Imprimir caracter en archivo

Una pregunta: el archivo es de texto plano?

Saludos
vosk
  #4 (permalink)  
Antiguo 09/02/2014, 17:52
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 13 años, 1 mes
Puntos: 20
Respuesta: Imprimir caracter en archivo

Cita:
Iniciado por vosk Ver Mensaje
Una pregunta: el archivo es de texto plano?

Saludos
vosk
Hola vosk, sí, es de texto plano.
Es una archivo .rtf

¿Me convendrá tratarlo como archivo binario?

Gracias. Saludos.
  #5 (permalink)  
Antiguo 10/02/2014, 04:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 9 años, 9 meses
Puntos: 83
Respuesta: Imprimir caracter en archivo

Es problema de codificacion, puedes usar los wide chars para solucionarlo:
Código C:
Ver original
  1. FILE *arx;
  2. wchar_t u_texto[2];
  3.  
  4. arx = fopen("test.rtf", "w");
  5. memset(u_texto, 0, sizeof(u_texto));
  6. swprintf(u_texto, "º");
  7. fwrite(u_texto, 1, 1, arx);
  8.  
  9. fclose(arx);

Ya se que es un ejemplo muy cutre :) pero ves enseguida a que me refiero
Estas funciones 'w' estan en 'wchar.h' y forman parte del set estandar de c, en esa cabecera tienes todas las versiones wide de las funciones normales de texto.

Saludos
vosk

Última edición por vosk; 10/02/2014 a las 04:26
  #6 (permalink)  
Antiguo 10/02/2014, 11:30
Avatar de Payaso73  
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 13 años, 1 mes
Puntos: 20
Respuesta: Imprimir caracter en archivo

Gracias vosk, voy a probar lo que me decís y a leer un poco sobre la wchar.h

Saludos.

Etiquetas: 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 04:44.