C/Visual C - Insertar en un fichero sin sobreescribir

 
Vista:

Insertar en un fichero sin sobreescribir

Publicado por JD (2 intervenciones) el 13/11/2002 10:07:03
Hola, quiero escribir en un fichero en el que previamente ya hay caracteres escritos. Al escribir en él lo que hace es sobreescribir encima de los caracteres ya escritos en el fichero, cuando lo que yo quiero es que los inserte en medio (algo asi como cuando le das al insert en el word, que te inserta lo que escribas en medio). Si alguien me puede ayudar...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar en un fichero sin sobreescribir

Publicado por Alvaro (122 intervenciones) el 13/11/2002 16:09:29
Si estas en Windows debes utilizar la funcion SetFilePointer.
Si estas en DOS o Unix creo que es fseek
El objetivo es que una vez abierto el archivo te muevas al final de este para escribir.
Eso, con ambas funciones lo haces diciendo:
Muevete 0 bytes desde el fin de archivo.
SUERTE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar en un fichero sin sobreescribir

Publicado por JD (2 intervenciones) el 13/11/2002 17:24:16
hola, pero yo no quiero escribir al final, sino insertar:
si el fichero tiene escrito: 300 0 500 6
quiero poner: 300 0 lonuevo 500 6

A lo mejor me lo tengo que currar yo mismo a mano desplazando pero si conoceis una función que directamente inserte pues mejor...GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar en un fichero sin sobreescribir

Publicado por Alvaro (122 intervenciones) el 13/11/2002 22:27:48
No hay remedio, debes hacer el corrimiento antes de insertar.
esto es moviendo el bloque completo o recorriendo desde el final del archivo.
Otra cosa seria indexar el archivo, así, insertas siempre al final y mantienes ordenado el indice.
SUERTE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar