elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Escribir txt al final en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Escribir txt al final en c++  (Leído 8,349 veces)
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Escribir txt al final en c++
« en: 7 Diciembre 2012, 04:23 am »

He estado buscando códigos aca de c++ para lograr escribir al final de un fichero txt en c++, pero solo he encontrado los códigos que leen desde el principio, alguien tiene el código?

gracias


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #1 en: 7 Diciembre 2012, 10:26 am »

He estado buscando códigos aca de c++ para lograr escribir al final de un fichero txt en c++, pero solo he encontrado los códigos que leen desde el principio, alguien tiene el código?

gracias

Para WIndows? Si lo es, entonces, usar Win32:
SetFilePointer

Lee un poco sobre la documentacion de tal funcion, es muy sencilla, más o menos seria obtener el handle al archivo/leer archivo,
obtener el tamaño del archivo (GetFileSize , a la hora de leer el
archivo la funcion devuelve un puntero al inicio del buffer donde se almacenan los bytes del archivo leido, luego usa SetFilePointer, MainPointer + SIzeOfFile.


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #2 en: 7 Diciembre 2012, 14:02 pm »

He estado buscando códigos aca de c++ para lograr escribir al final de un fichero txt en c++. . .
Citar
Modo de apertura de un fichero:
" a  ": Añade al final del fichero si existe, o lo crea si no existe. ejemplo:

                    fopen(nombre, "ra")

No estoy seguro si te referías a esto. Si no es así concreta más la pregunta.
Saluditos!.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #3 en: 7 Diciembre 2012, 15:32 pm »

He estado buscando códigos aca de c++ para lograr escribir al final de un fichero txt en c++, pero solo he encontrado los códigos que leen desde el principio, alguien tiene el código?

Indicas el modo append (agregar) cuando abres el archivo. Un ejemplo en la pagina cortesía de C Plus Plus: std::fstream::open.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #4 en: 7 Diciembre 2012, 15:50 pm »

gracias me ha funcionado
En línea

zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #5 en: 8 Diciembre 2012, 14:21 pm »

Intenta lo siguiente:...

Código:
#include <stdio.h>

FILE* archivo;

int main()
{
    archivo = fopen("archivo.txt", "a+");
    fprintf(archivo, "%s", "Esta es la ultima linea\n");
    fclose(archivo);
}

Y recuerdate los siguientes permisos:

Código:
r      lee el archivo.
w      reemplaza el contenido del archivo por otro texto.
rw     lee y reemplaza el texto del archivo por otro.
w+     agrega un texto al final del archivo.
a+     es lo mismo que w+.

Con que recuerdes sólo ésos, es suficiente, aunque si manejas PHP, lo vas a entender seguramente.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #6 en: 8 Diciembre 2012, 16:49 pm »

Si esta aprendiendo C++ me parece mejor que se enfoque en su biblioteca estándar (función miembro open) y no la de C (función fopen).

Con esta ultima los modos de apertura son tres:

1) "r" para lectura
2) "w" para escritura (el contenido original se pierde)
3) "a" para escritura agregando al final del archivo.

De forma predeterminada la apertura es en modo texto o bien se puede indicar explícitamente con "t". Para el modo binario se debe utilizar "b".

Si se utiliza "+" con alguno de los tres modos ello permite realizar la otra operación:

1) "r+" para lectura y escritura
2) "w+" para escritura (se pierde el contenido original) y lectura.
3) "a+" para escritura (siempre al final del archivo) y lectura.

En todos los casos antes de realizar la operación secundaria (la que se agrega al utilizar "+") se debe indicar la posición en el archivo mediante la función fseek o rewind.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Escribir txt al final en c++
« Respuesta #7 en: 8 Diciembre 2012, 20:16 pm »

El fstream es mucho mejor que fopen, éso es verdad.
Yo sólo puse lo del fopen no más porque me parecía un poco más sencillo como para empezar si es que no había visto C anteriormente.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Escribir un .txt con vb
Programación Visual Basic
Xrage 7 7,849 Último mensaje 11 Junio 2005, 13:24 pm
por p0w3r f1y
Escribir .ini
Programación Visual Basic
& eDu & 6 1,919 Último mensaje 25 Mayo 2008, 01:29 am
por naderST
No puedo escribir sí con acento para instalar wifiway 1.0 final « 1 2 »
Wireless en Linux
iva29234 12 4,652 Último mensaje 17 Mayo 2010, 10:34 am
por Alexis-CS
Es necesario escribir return; al final de una funcion, y void?
Programación C/C++
RGT 2 1,260 Último mensaje 29 Marzo 2015, 17:53 pm
por rir3760
Como escribir al final de una archivo ?
Programación C/C++
Julián2016 5 1,222 Último mensaje 25 Marzo 2017, 17:29 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines