Erstellt fopen einen Dateideskriptor?

8

Wenn ich auf die man-Seite nach fopen schaue, kann ich keine definitive Antwort auf diese Frage bekommen.

%Vor%

Ich verstehe, dass fopen einen Dateizeiger auf einen Stream zurückgibt, aber ein Dateideskriptor ist, der als Nebenprodukt erstellt wurde? Ich versuche sicherzustellen, dass ich das Flag FD_CLOEXEC bei jeder Instanz ein Dateideskriptor erstellt. Wenn ein Dateideskriptor tatsächlich aus fopen erstellt wird, ist der beste Weg, fnctl() zu verwenden, wenn kein "fd" als Eingabe verwendet wird.

Danke.

    
Jon Kump 09.03.2012, 23:37
quelle

1 Antwort

16

Unter Unix (von dem ich annehme, dass Sie fcntl nennen) öffnet einen Dateideskriptor, da fopen(3) schließlich open(2). aufruft. Sie können diese Datei erhalten Deskriptor via fileno(3) .

    
cnicutar 09.03.2012, 23:40
quelle

Tags und Links