Test Foro de elhacker.net SMF 2.1

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:

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)