stdin
目录
STDIN(3) Library Functions Manual STDIN(3)
NAME
stdin, stdout, stderr — æ å I/O æµ
SYNOPSIS æ»è§
#include <stdio.h>
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
DESCRIPTION æè¿°
éå¸¸ï¼æ¯ä¸ª Unix ç¨åºå¨å¯å¨æ¶é½ä¼æå¼ä¸ä¸ªæµï¼ä¸ä¸ªç¨äºè¾å¥ï¼ä¸ä¸ªç¨äºè¾åºï¼ä¸ä¸ªç¨äºæå°è¯æ- æéè¯¯æ¶æ¯ãå¸åçï¼ä»ä»¬è¢«è¿æ¥å°ç¨æ·çç»ç«¯ (åè§ tty(4)) 使¯ä¹æå¯è½æåæä»¶ææ¯å¶ä»è®¾å¤ï¼åå³äºç¶è¿ç¨éæ©è®¾ç½®äºä»ä¹ (åè§ sh(1) çéå®å (‘‘Redirection’’) ç« èã)
è¾å¥æµè¢«ç§°ä¸º ‘‘standard input’’; è¾åºæµè¢«ç§°ä¸º ‘‘standard output’’; é误æµè¢«ç§°ä¸º ‘‘standard error’’ãè¿äºåè¯é常ç®å为符å·ï¼ç¨äºå¼ç¨è¿äºæä»¶ï¼å®ä»¬æ¯ stdin, stdout, å stderr.
è¿äºç¬¦å·ä¸ï¼æ¯ä¸ä¸ªé½æ¯ stdio(3) ä¸çä¸ä¸ªå®ï¼ç±»åæ¯æå FILE çæéï¼å¯ä»¥ç¨äºç±»ä¼¼ fprintf(3) æ fread(3) ç彿°ä¸ã
ç±äº FILE æ¯ä¸ä¸ªå¯¹ Unix æä»¶æè¿°ç¬¦å 以ç¼å²çåè£ï¼ä¸å±çæä»¶ä¹å¯ä»¥ä½¿ç¨åå§ç Unix æä»¶æ¥å£æ¥å- åãä¹å°±æ¯ï¼ç±»ä¼¼ read(2) å lseek(2) ç彿°ã䏿µ stdin, stdout, å stderr å³èçæ´æ°å½¢å¼çæä»¶æè¿°ç¬¦å嫿¯ 0ï¼1 è¿æ 2ãé¢å¤çå¨ç¬¦å· STDIN_FILENOï¼STDOUT_FILENO å STDERR_FILENO åå«ä»¥å®ä»¬ä¸ºå¼ï¼å®ä¹å¨ <unistd.h> ä¸ã
æ³¨ææ··åä½¿ç¨ FILE ååå§çæä»¶æè¿°ç¬¦å¯è½å¸¦æ¥ä¸å¯é¢æçç»æï¼ä¸è¬åºå½é¿åã(对äºå欢追æ¹é®åºç人ï¼POSIX.1 è§èç 8.2.3 è详ç»å°æè¿°äºè¿æ ·çæ··åä½¿ç¨ææ ·æè½ä¸åºéã) ä¸ä¸ªç®åçè§åæ¯ï¼æä»¶æè¿°ç¬¦ç±åæ ¸æ§å¶ï¼è stdio ä»ä»æ¯ä¸ä¸ªåºãå®çæææ¯ï¼ä¾å¦å½è°ç¨ exec ä¹åï¼å- è¿ç¨å¯ä»¥ç»§æ¿æææå¼çæä»¶æè¿°ç¬¦ï¼ä½æ¯ä»»ä½åæçæµé½ä¸å¯åååäºã
ç±äºç¬¦å· stdin, stdout, å stderr 被æå®ä¸ºå®ï¼ä¸ºå®ä»¬èµå¼å°å¯¼è´ä¸å¯ç§»æ¤ãå©ç¨åºå½æ° freopen(3) ï¼æ åæµå¯ä»¥ç¨æ¥æåä¸åçæä»¶ãå¼è¿è¿ä¸ªå½æ°ä¸é¨ç¨æ¥ä¸º stdin, stdout, å stderr éæ°èµå¼ãæ åæµå¨è°ç¨ exit(3) åç¨åºæ£å¸¸ä¸æ¢æ¶è¢«å³éã
SEE ALSO åè§
sh(1), csh(1), open(2), fopen(3), stdio(3)
CONSIDERATIONS
éè¯¯æµ stderr æ¯éç¼å²çãè¾åºæµ stdout æ¯è¡ç¼å²çï¼å¦æå®æåä¸ä¸ªç»ç«¯ãä¸å®å¨çè¡åªæå¨è°ç¨ fflush(3) æ exit(3) ï¼æèæå°äºæ°è¡ç¬¦ä¹åæä¼æ¾ç¤ºãè¿æ·å¯è½å¸¦æ¥ææ³é¢æçç»æï¼å°¤å¶æ¯è°è¯è¾åºæ¶ãæåæµ (æä»»ä½å¶ä»æµ) çç¼å²æ¨¡å¼å¯ä»¥ç¨å½æ° setbuf(3) æ setvbuf(3) æ¥åæ¢ã注æå½ stdin ä¸ä¸ä¸ªç»ç«¯å³èæ¶ï¼ä¹è®¸ç»ç«¯é©±å¨ä¸åå¨è¾å¥ç¼å²ï¼ä¸ stdio ç¼å²å®å¨æ å³ã(ç¡®å®å¦æ¤ï¼ä¸è¬çç»ç«¯è¾å¥å¨åæ ¸ä¸æ¯è¡ç¼å²çã) åæ ¸å¯¹è¾å¥çæ§å¶å¯ä»¥éè¿å¯¹ tcsetattr(3) çè°ç¨æ¥ä¿®æ¹ï¼åè§ stty(1), å termios(3) ã
CONFORMING TO æ ååè
å® stdin, stdout, å stderr éµå¾ª ANSI X3.159-1989 (“ANSI C89”) æ åï¼è¿ä¸ªæ ååæ¶è§å®äºè¿ä¸ä¸ªæµåºå½å¨ç¨åºå¯å¨æ¶æå¼ã
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh
Linux 2.0 March 24, 1998 STDIN(3)