Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Problemas al escribir en un archivo

Hola amigos, estoy intentando crearme una funcion que escriba en la posicion deseada de un archivo y para ello he probado esto:
Código PHP:
void SendToFile (bytesentenceint sizeuint32_t poschar *path) {
    
std::ofstream ostr (path);
    if (
ostr) {
        
std::streambuf pbuf ostr.rdbuf();
        
//Aqui obtengo el tamaño del archivo
        
std::streamsize sizeStream pbuf->pubseekoff(0ostr.end);
        
//Me posiciono en el lugar donde quiero escribir en el archivo
        
pbuf->pubseekoff(posostr.beg);
        
//Escribo lo que quiero en el archivo usando el stream
        
pbuf->sputn (sentence,size);
        
ostr.close();
    }

Y tambien esto:
Código PHP:
void SendToFile (bytesentenceint sizeuint32_t poschar *path) {
    
std::ofstream ostr (path);
    if (
ostr) {
        
//Obtengo el tamaño del archivo
        
ostr.seekp(0,ios_base::end);
        
int size_file=ostr.tellp();
        
//Me posiciono en la posicion del archivo donde quiero escribir
        
ostr.seekp(pos,ios_base::beg);
        
//Escribo en el archivo lo que quiero
        
ostr.write(sentence,size);
        
ostr.close();
    }

En ambos casos el tamaño del archivo que obtengo es 0 pero no lo es aunque cuando escribo en el si que obtengo un archivo en el que solo está lo que he escrito. ¿Alquien me puede ayudar?
Responder Con Cita
  #2  
Antiguo 10-01-2018
Avatar de _Leo
_Leo _Leo is offline
Miembro
 
Registrado: ene 2017
Ubicación: Lanzarote (Islas Canarias)
Posts: 38
Poder: 0
_Leo Va camino a la fama
Para poder escribir en una posición concreta de un archivo existente sin que se trunque como es el caso, tendrías que abrirlo del siguiente modo:

Código PHP:
std::ofstream ostr(pathstd::ios::in std::ios::out std::ios::binary); 
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Escribir en un archivo de texto sin repeticiones wilcg Varios 4 14-02-2015 16:29:55
Sobre Escribir un archivo de texto mangel Varios 7 04-06-2012 23:29:04
¿Escribir archivo INI con ASP? JXJ Varios 0 31-03-2011 03:48:00
escribir en la primera linea de un archivo de texto Gaim2205 Varios 3 22-09-2008 16:52:36
Escribir en archivo remoto. Maibok Servers 1 28-03-2007 11:57:44


La franja horaria es GMT +2. Ahora son las 17:18:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi