2011-03-04 11 views

cevap

20

açmak gerekir KOLU gerekiyorsa fdopen(fd,<mode>);

+1

Bu işlev, temel tutamağın sahipliğini mi alıyor yoksa CloseHandle hala çağrılmalı mı? – user877329

+0

@ user877329: Bence hala "CloseHandle()" yi çağırmanız gerekiyor, ama kontrol edilmeye değer. Bu işlevleri kullandığımdan beri epey zaman geçti. Microsoft çalışma zamanı kitaplığı kaynak kodu derleyici ile birlikte gelir, böylece bir sınama programı yazıp denetlemek için izlersiniz. –

-2

sen .. onları döviz (dönüştürün) olamaz ama iki adımda yapmalısın. Öncelikle, bir Win32 HANDLE değerinden C çalışma zamanı dosya tanıtıcısını almak için _open_osfhandle()'u arayın, ardından _fdopen() dosyasını dosya tanıtıcısından FILE* nesnesine yönlendirin.

1

açık bir ikili dosya tanıtıcısı için kodumu kullan. Eğer gerekmiyorsa

Eğer DOSYA * kapatmak için fclose kullanmalıdır.

i durumda 1 ve 2 test, bu yüzden kendi riski altında kullanmak vermedi.