int source = open("hi", O_CREAT | O_RDONLY);
int dest = open("resultfile", O_CREAT | O_RDWR | O_TRUNC);
FILE* source1 = fdopen(source, "r");
FILE* dest1 = fdopen(dest, "w+");
// outside of a testcase I would write something into 'resultfile' here
close(source);
close(dest);
fclose(source1);
fclose(dest1);
int sourcef = open("resultfile", O_RDONLY);
printf(strerror(errno)); // <--- Bad file descriptor
No entiendo por qué? ¿Cómo puedo combinar con éxito IO basado en stream con open()?fdopen de mezcla() y abierta() -> mala descriptor de archivo
Una biblioteca con la que estoy trabajando solo acepta un entero fd (y la biblioteca es internamente responsable de cerrarlo, presumiblemente con close()), pero todavía necesito trabajar con el archivo, y no lo hago ver cómo eso es posible sin las llamadas f() como (fread(), ftell() etc)
¡Gracias! No leí la página de manual con suficiente cuidado porque la página de manual de fdopen() está mezclada con freopen() y fopen(): / – Blub