Nasıl STDOUT etkileri printf kapanış

oy
1

birileri öyle gibi dosya tanımlayıcısı tablosunda bir kapak koyma STDOUT kapanırsa:

close(STDOUT);

ve daha sonra okuma / yazma için bir dosya açar:

int ​fd = open(​myFile​, O_RDWR);

ve bundan sonra printf kullanır:

printf(hello);

Ben ekrana gitmeyecek biliyorum ama dosyada basılacaktır? Ya da fprintf veya yazma sistemi çağrıyı kullanmak zorunda kaldı mı?

Oluştur 19/06/2018 saat 08:03
kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

açıkken adamı sayfasından:

Başarılı bir çağrı tarafından döndürülen dosya tanımlayıcı şu anda süreç için açık değil düşük numaralı dosya tanıtıcı olacak.

Eğer STDOUT için dosya tanıtıcı kapattığınızda, sonraki açık sistem çağrısı yeni bir dosyaya stdout fd atar. Printf sadece o stdout'u olup olmadığı önemli değildir fd gönderir. Yani bu senaryoda bir printf ile "dosyam" çıkış dökümü olacak

Cevap 19/06/2018 saat 08:21
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more