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
Nedenini anlamıyorum? Stream tabanlı IO'yu open() ile nasıl başarılı bir şekilde karıştırabilirim?Karıştırma fdopen() ve açık() -> kötü dosya tanımlayıcı
Çalıştığım bir kitaplık yalnızca bir tamsayı kabul eder (ve kütüphane kapanmak için dahili olarak sorumludur, muhtemelen yakın()), ancak yine de dosya ile çalışmam gerekir ve f() işlevinin, sizin için (fread(), ftell() gibi)
Teşekkür ederiz! Fdopen() manpage, freopen() ve fopen() ile karıştırıldığı için man sayfayı yeterince okumamışımdır: / – Blub