2016-03-28 21 views
1

Merhaba, c) isatty() parametresinin ne olduğunu söyleyen var mı? Ben kodu aşağıdaki, ama ben ilk çıkış üç sayı 1 olacağını anlamıyorum ve tüm sol O dosya tanıtıcı bir terminal ya da değil bağlı olup olmadığını söyler 0.C için isatty() nedir?

#include <unistd.h> 
#include <stdio.h> 
#include <stdlib.h> 
int main(){ 
     for(int i=0;i<100;i++){ 
       int t=isatty(i); 
       printf("%d",t); 
     } 
     return 0; 
} 
+4

Bunu 'tty?' Olarak okuyun. Bu yardımcı olabilir. –

+0

Yani * man isatty * - * "isatty() işlevi, fd'nin bir terminale atıfta bulunan açık bir dosya tanıtıcısı olup olmadığını sınar." * –

+0

Bu, C standart kitaplığından değil, bir POSIX işlevidir. – haccks

cevap

4

Erkeğinize hızlı bir bakış anlamına gelir olsun sayfalar ortaya çıkar:

Daha ayrıntılı araştırmalar, 0, 1 ve 2 dosya tanımlayıcılarının (STDIN_FILENO, STDOUT_FILENO ve STDERR_FILENO), programınız terminalden çalıştığında terminalinize işaret edecek şekilde ayarlanmış olduğunu keşfe götürecektir.

+0

Teşekkürler! Her int'nin hangi dosya tanımlayıcısına başvurduğunu nasıl bulacağımı söyler misiniz? – Hao9000

+0

standart bir yol yoktur. –

+0

Teşekkürler! Tom! – Hao9000

0

Kontrol ref:

isatty - testi Bir dosya tanıtıcı bir terminal

3

isatty(), fd - (dosya tanıtıcısı) bir terminale başvurursa 1 değerini döndüren bir işlevdir.

Bu #include altına giriyor

#include<unistd.h> 
+1

, soruya nasıl cevap vermez (burada diğer cevaplardan önemli ölçüde daha kötü değildir) –

0

"Ama isatty tarafından alınan parametre()? anlamı ne"

parametre/Ç kütüphanesi en standardına ben bir indis olarak dosya tanıtıcıları tablosu. 0, 1 ve 2 dizinleri stdin, stdout ve stderr için ayrılmıştır. Diğer tüm indeksler sizin tarafınızdan açılabilen/açılmış dosya tanımlayıcılarına başvurur.

İlgili konular