Ver Mensaje Individual
  #1  
Antiguo 08-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 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