Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Julián2016 en 25 Marzo 2017, 07:26 am



Título: Como escribir al final de una archivo ?
Publicado por: Julián2016 en 25 Marzo 2017, 07:26 am
Buenas... tengo un pequeño inconveniente, estoy haciendo un programa de cifrado para la universidad. Para esto leo el archivo a cifrar (linea por linea) voy cifrando y guardando el texto cifrado en otro archivo. el problema recae cuando voy a guardar la segunda linea cifrado en el archivo, ya que debe quedar en la siguiente linea, pero cuando hago un sato de linea me queda otra linea por media, es decir, la nueva linea que estoy agregando no me queda en la linea siguiente, sino con una linea de por medio, he probado con la apertura de esta manera:  ofstream archivo_cifrado("Texto_cifrado.txt", ios::ate);  a partir de la segunda escritura para comenzar a añadir desde el final del archivo pero no me funciona, alguna sugerencia? creen cual pueda ser el problema por el cual me queda esa linea intermedia? espero su ayuda gracias!


Título: Re: Como escribir al final de una archivo ?
Publicado por: MAFUS en 25 Marzo 2017, 13:29 pm
Creo entender que te sobra un salto de línea:
Tienes esto:
Citar
Línea 1

Línea 2

Cuando quieres esto:
Citar
Línea1
Línea 2


Título: Re: Como escribir al final de una archivo ?
Publicado por: Julián2016 en 25 Marzo 2017, 15:49 pm
Creo entender que te sobra un salto de línea:
Tienes esto:
Cuando quieres esto:

Si amigo, ya lo arregle, lo que pasa es cuando quería agregar la siguiente linea yo colocaba un archivo << "\n" pero cuando comenzaba a escribir no lo hacía en la siguiente linea sino dejando una linea de por medio,lo arregle colocando un retorno de carro "\r" y funciona, no me deja una linea de por medio. ahora tengo un problema es con la representacion de carcteres especiales, por ejemplo, la "ñ", se que su codigo ASCII es 164 pero cuando lo imprimo lo que me muestra la consola es un signo de interrogación ? , como soluciono esto ? se debe a la configuracion de mi Linux ? espero puedas ayudarme, gracias!


Título: Re: Como escribir al final de una archivo ?
Publicado por: MAFUS en 25 Marzo 2017, 16:07 pm
Yo en mi Linux le doy directamente las ñ y los acentos al printf, putchar, etc. y los imprime en consola. Si no es así comprueba que tengas el sistema en español y cambia las opciones locale en tu programa:
http://c.conclase.net/librerias/?ansifun=setlocale


Título: Re: Como escribir al final de una archivo ?
Publicado por: Julián2016 en 25 Marzo 2017, 16:11 pm
Yo en mi Linux le doy directamente las ñ y los acentos al printf, putchar, etc. y los imprime en consola. Si no es así comprueba que tengas el sistema en español y cambia las opciones locale en tu programa:
http://c.conclase.net/librerias/?ansifun=setlocale

El problema es que de cualquier forma me muestra es un " ? " , por ejemplo, si hago esto:

Código
  1. int main ()
  2.  
  3. {
  4.    //Creamos dos variables un "int" y "char"
  5.    char a;
  6.    int i;  
  7.  
  8.    //Guardamos el código en la variable entera.
  9.    cout <<"Dime el código ascii"<<endl;
  10.    cin >>i;
  11.  
  12.    //Igualamos nuestras variables
  13.    a=i;
  14.  
  15.    //Mostramos "char"
  16.    cout <<"El caracter es: "<<a<<endl;
  17.  
  18.    return 0;</span>
  19. }

igual me muestra un " ? " debería mostrarme el caracter perteneciente al valor que tiene lavariable entera, no? también probe con lo del Locale pero tampoco funciona. Para cualquier variable que contenga un caracter especial, cuando la imprimo lo que haces es mostrarme un " ? " en vez de el caracter correspondiente,


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Como escribir al final de una archivo ?
Publicado por: MAFUS en 25 Marzo 2017, 17:29 pm
Lo más probable es que la configuración de tu terminal no permita ver estos caracteres ASCII.
Identifica qué terminal dispones y busca como configurar su charset.