Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: SARGE553413 en 25 Enero 2014, 22:43 pm



Título: Error al redireccionar salida estandar a un fichero.
Publicado por: SARGE553413 en 25 Enero 2014, 22:43 pm
Hola, este es mi problema:
Intento redirigir la salida estandar a un fichero para escribir DESDE EL FINAL de éste:
Código:
int stdoutRedir2(const char *fichName){
    int fd=open(fichName,O_APPEND);
    int nuevoFd=-1;
    if(fd<1){
        fd=creat(fichName,0644);
    }else{
        nuevoFd=dup2(fd,1);

    }
    close(fd);
    return nuevoFd;
}

"error de escritura: Descriptor de archivo erróneo"

¿Alguien sabe por qué?


Título: Re: Error al redireccionar salida estandar a un fichero.
Publicado por: amchacon en 26 Enero 2014, 00:04 am
Y no puedes usar el fprintf de toda la vida?


Título: Re: Error al redireccionar salida estandar a un fichero.
Publicado por: SARGE553413 en 26 Enero 2014, 00:49 am
No porque tengo que direccionar la salida de un mandato de linux al fichero en cuestión. Y la salida de los mandatos siempre es el descriptor 1 (stdout)