Tanıtıcılar ve Akımlar
Önceki XIII. Oylum - Düşük Seviyeli Girdi ve Çıktı Sonraki
Tanıtıcılar ve Akımlar
Belirtilen bir dosya tanıtıcı için fdopen ile bir akım oluşturabileceğiniz gibi fileno ile mevcut bir akımın dosya tanıtıcısını elde edebilirsiniz. Bu işlevler stdio.h başlık dosyasında bildirilmiştir.
FILE *fdopen
(int         dosyatanıtıcı,
 const char *açıştürü)
işlev
fdopen işlevi dosyatanıtıcı tanıtıcısı için yeni bir akım döndürür.
açıştürü argümanı fopen işlevindeki gibi yorumlanır (bkz. Akımların Açılması). Bir farkla: GNU sisteminde ikilik ve metin dosyalar arasında bir fark gözetilmediğinden b seçeneğine izin verilmez. Ayrıca "w" ve "w+" dosyanın kırpılmasına sebep olmaz; bu sadece dosyayı açarken etkilidir ve bu durumda zaten dosya açıktır. açıştürü argümanı açık dosyanın kipiyle eşleşmek zorundadır, buna dikkat etmelisiniz.
İşlevin normal dönüş değeri yeni akımdır. Akım oluşturulamazsa bir boş gösterici döner. Bu duruma bir örnek: dosya tanıtıcının dosya kipinin açıştürü argümanında belirtilen erişim türüne izin vermemesi.
Bazı sistemlerde, açıştürü argümanında belirtilen erişim türüne izin vermeyen dosya tanıtıcı kipi saptanırken fdopen başarısız olabilir. GNU C kütüphanesi daima bunun için denetlenir.
fdopen işlevinin bir kullanım örneğini Bir Borunun Oluşturulması bölümünde bulabilirsiniz.
int fileno
(FILE *akım)
işlev
Bu işlev akım akımıyla ilişkili dosya tanıtıcı ile döner. Bir hata saptanırsa (örn, akım geçersizse) ya da akım bir dosyayla G/Ç yapmıyorsa, işlev -1 ile döner.
int fileno_unlocked
(FILE *akım)
işlev
fileno_unlocked işlevi, durum FSETLOCKING_INTERNAL ise akımı doğrudan kilitlememesi dışında fileno işlevine eşdeğerdir.
Bu işlev bir GNU oluşumudur.
stdin, stdout ve stderr standart akımlarının dosya tanıtıcıları için sembolik sabitleri vardır ve bunlar unistd.h başlık dosyasında tanımlıdır.
STDIN_FILENO
makro
Bu makro standart girdi için dosya tanıtıcı olarak 0 değerine sahiptir.
STDOUT_FILENO
makro
Bu makro standart çıktı için dosya tanıtıcı olarak 1 değerine sahiptir.
STDERR_FILENO
makro
Bu makro standart hata için dosya tanıtıcı olarak 2 değerine sahiptir.
Önceki Üst Ana Başlık Sonraki
Dosya Konumu İlkeli Başlangıç Akımlarla Tanıtıcıları Karıştırmanın Tehlikeleri
Bir Linux Kitaplığı Sayfası