OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man3 / stdin.3
index eefa258..ac0911b 100644 (file)
 .TH STDIN 3 2008-07-14 "Linux" "Linux Programmer's Manual"
 .\"O .SH NAME
 .\"O stdin, stdout, stderr \- standard I/O streams
-.SH Ì¾Á°
-stdin, stdout, stderr \- É¸½àÆþ½ÐÎÏ¥¹¥È¥ê¡¼¥à
+.SH 名前
+stdin, stdout, stderr \- 標準入出力ストリーム
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <stdio.h>
 
@@ -25,7 +25,7 @@ stdin, stdout, stderr \- ɸ
 .BI "extern FILE *" stderr ;
 .fi
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O Under normal circumstances every UNIX program has three streams opened
 .\"O for it when it starts up, one for input, one for output, and one for
 .\"O printing diagnostic or error messages.
@@ -36,14 +36,14 @@ stdin, stdout, stderr \- ɸ
 .\"O the parent process chose to set up.
 .\"O (See also the "Redirection" section of
 .\"O .BR sh (1).)
-ɸ½à¤Î´Ä¶­¤Ç¤Ï¡¢ UNIX ¥×¥í¥°¥é¥à¤Ïµ¯Æ°»þ¤Ë¡¢¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥¹¥È¥ê¡¼
-¥à¤ò 3 ¤ÄÍ¿¤¨¤é¤ì¤ë¡£¤½¤ì¤¾¤ìÆþÎÏÍÑ¡¢½ÐÎÏÍÑ¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ä¥¨¥é¡¼¥á¥Ã
-¥»¡¼¥¸¤Îɽ¼¨ÍѤΤâ¤Î¤Ç¤¢¤ë¡£¤³¤ì¤é¤ÏÄ̾ï¥æ¡¼¥¶¤ÎüËö
+æ¨\99æº\96ã\81®ç\92°å¢\83ã\81§ã\81¯ã\80\81 UNIX ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯èµ·å\8b\95æ\99\82ã\81«ã\80\81ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\82¹ã\83\88ã\83ªã\83¼
+ムを 3 つ与えられる。それぞれ入力用、出力用、診断メッセージやエラーメッ
+セージの表示用のものである。これらは通常ユーザの端末
 .RB ( tty (4)
-¤ò¸«¤è) ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¿Æ¥×¥í¥»¥¹¤Ç¤ÎÁªÂò¡¦ÀßÄê¤Ë¤è¤Ã¤Æ¥Õ¥¡¥¤¥ë
-¤ä¾¤Î¥Ç¥Ð¥¤¥¹¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë
+を見よ) に接続されているが、親プロセスでの選択・設定によってファイル
+や他のデバイスに関連づけられていることもある
 .RB ( sh (1)
-¤Î¡Ö¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó¡×¥»¥¯¥·¥ç¥ó¤â»²¾È¤Î¤³¤È)¡£
+の「リダイレクション」セクションも参照のこと)。
 .PP
 .\"O The input stream is referred to as "standard input"; the output stream is
 .\"O referred to as "standard output"; and the error stream is referred to
@@ -54,14 +54,14 @@ stdin, stdout, stderr \- ɸ
 .\"O .IR stdout ,
 .\"O and
 .\"O .IR stderr .
-ÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï "standard input" ¤È¸Æ¤Ð¤ì¤ë¡£½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ï
-"standard output"¡¢¥¨¥é¡¼¥¹¥È¥ê¡¼¥à¤Ï "standard error" ¤È¸Æ¤Ð¤ì¤ë¡£
-¤³¤ì¤é¤ÎÍѸì¤òû½Ì¤·¤¿¤â¤Î¤¬¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤¹¥·¥ó¥Ü¥ë¤È¤Ê¤ë¡£¤Ä
-¤Þ¤ê
+入力ストリームは "standard input" と呼ばれる。出力ストリームは
+"standard output"、エラーストリームは "standard error" と呼ばれる。
+これらの用語を短縮したものがそれぞれのファイルを示すシンボルとなる。つ
+まり
 .IR stdin ,
 .IR stdout ,
 .I stderr
-¤Ç¤¢¤ë¡£
+である。
 .PP
 .\"O Each of these symbols is a
 .\"O .BR stdio (3)
@@ -69,13 +69,13 @@ stdin, stdout, stderr \- ɸ
 .\"O .BR fprintf (3)
 .\"O or
 .\"O .BR fread (3).
-¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Ï
+これらのシンボルは
 .BR stdio (3)
-¤Î¥Þ¥¯¥í¤Ç¡¢ FILE ¤Ø¤Î¥Ý¥¤¥ó¥¿·¿¤Ç¤¢¤ë¡£¤·¤¿¤¬¤Ã¤Æ
+のマクロで、 FILE へのポインタ型である。したがって
 .BR fprintf (3)
-¤ä
+や
 .BR fread (3)
-¤Ê¤É¤Î´Ø¿ô¤È¤È¤â¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+などの関数とともに用いることができる。
 .PP
 .\"O Since
 .\"O .IR FILE s
@@ -86,13 +86,13 @@ stdin, stdout, stderr \- ɸ
 .\"O and
 .\"O .BR lseek (2).
 .I FILE
-¤Ï UNIX ¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¥Ð¥Ã¥Õ¥¡µ¡Ç½¤òÄɲä·¤¿¥é¥Ã¥Ñ¡¼
-¤Ç¤¢¤ë¤«¤é¡¢¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ë¤âÂбþ¤¹¤ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢ UNIX ¤Î raw ¥Õ¥¡
-¥¤¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+ã\81¯ UNIX ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81«ã\83\90ã\83\83ã\83\95ã\82¡æ©\9fè\83½ã\82\92追å\8a ã\81\97ã\81\9fã\83©ã\83\83ã\83\91ã\83¼
+ã\81§ã\81\82ã\82\8bã\81\8bã\82\89ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ã\83\9eã\82¯ã\83­ã\81«ã\82\82対å¿\9cã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81\82ã\82\8aã\80\81 UNIX ã\81® raw ã\83\95ã\82¡
+ã\82¤ã\83«ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹
 .RB ( read (2)
-¤ä
+や
 .BR lseek (2)
-¤Ê¤É) ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
+など) によってアクセスすることもできる。
 .PP
 .\"O On program startup, the integer file descriptors
 .\"O associated with the streams
@@ -112,24 +112,24 @@ stdin, stdout, stderr \- ɸ
 .\"O .BR freopen (3)
 .\"O to one of these streams can change the file descriptor number
 .\"O associated with the stream.)
-¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë¤Ï¡¢
-¥¹¥È¥ê¡¼¥à
+プログラムの起動時には、
+ストリーム
 .IR stdin ,
 .IR stdout ,
 .I stderr
-¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÈÖ¹æ¤Ï¡¢
-¤½¤ì¤¾¤ì 0, 1, 2 ¤Ç¤¢¤ë¡£
-¥×¥ê¥×¥í¥»¥Ã¥µ¥·¥ó¥Ü¥ë
+に結びつけられているファイルディスクリプタの番号は、
+それぞれ 0, 1, 2 である。
+プリプロセッサシンボル
 .BR STDIN_FILENO ,
 .BR STDOUT_FILENO ,
 .B STDERR_FILENO
-¤Ï
+は
 .I <unistd.h>
-Ãæ¤Ç¤½¤ì¤¾¤ì¤³¤ì¤é¤ÎÃͤËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
-(¤³¤ì¤é¤Î¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ
+中でそれぞれこれらの値に定義されている。
+(これらのストリームに対して
 .BR freopen (3)
-¤òŬÍѤ¹¤ë¤³¤È¤Ç¡¢¤½¤Î¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
-¤ÎÈÖ¹æ¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£)
+ã\82\92é\81©ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81ã\81\9dã\81®ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81«é\96¢é\80£ä»\98ã\81\91ã\82\89ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
+の番号を変更することができる。)
 .PP
 .\"O Note that mixing use of
 .\"O .IR FILE s
@@ -144,15 +144,15 @@ stdin, stdout, stderr \- ɸ
 .\"O the child inherits all open file descriptors, but all old streams
 .\"O have become inaccessible.
 .I FILE
-¤È raw ¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÊ»ÍѤϡ¢Í½´ü¤Ç¤­¤Ê¤¤·ë²Ì¤òÀ¸¤¸
-¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢Ä̾ï¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¢¤ë¡£ (¥Þ¥¾¥Ò¥¹¥Æ¥£¥Ã¥¯¤Ê¿Í¤Ë:
-POSIX.1 ¤Î¥»¥¯¥·¥ç¥ó 8.2.3 ¤Ë¤Ï¡¢¤³¤Îº®ÍѤÇÆ°ºî¤¬¤É¤Î¤è¤¦¤Ë¤Ê¤ê¤½¤¦
-¤«¤¬¾Ü¤·¤¯µ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£)
-°ìÈÌŪ¤Ê¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê: ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ
-°·¤ï¤ì¡¢ stdio ¤Ïñ¤Ë¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ°·¤ï¤ì¤ë¤Î¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤ÁÎ㤨¤Ð
+と raw なファイルディスクリプタの併用は、予期できない結果を生じ
+ることがあるので、通常は避けるべきである。 (マゾヒスティックな人に:
+POSIX.1 のセクション 8.2.3 には、この混用で動作がどのようになりそう
+かが詳しく記述されている。)
+一般的なルールは以下の通り: ファイルディスクリプタはカーネルによって
+扱われ、 stdio は単にライブラリによって扱われるのである。すなわち例えば
 .BR exec (3)
-¤Î¸å¤Ë¤Ï¡¢»Ò¥×¥í¥»¥¹¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
-¤ò¤¹¤Ù¤Æ·Ñ¾µ¤¹¤ë¤¬¡¢¿Æ¤«¤é¤Î¥¹¥È¥ê¡¼¥à¤Ï¤¹¤Ù¤Æ¥¢¥¯¥»¥¹ÉԲĤȤʤ롣
+ã\81®å¾\8cã\81«ã\81¯ã\80\81å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
+をすべて継承するが、親からのストリームはすべてアクセス不可となる。
 .PP
 .\"O Since the symbols
 .\"O .IR stdin ,
@@ -171,24 +171,24 @@ POSIX.1 
 .\"O The standard streams are closed by a call to
 .\"O .BR exit (3)
 .\"O and by normal program termination.
-¥·¥ó¥Ü¥ë
+シンボル
 .IR stdin ,
 .IR stdout ,
 .I stderr
-¤Ï¤¹¤Ù¤Æ¥Þ¥¯¥í¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤é¤Ø¤ÎÂåÆþ
-¤Ï°Ü¿¢À­¤òÊݾڤµ¤ì¤Ê¤¤¡£É¸½à¥¹¥È¥ê¡¼¥à¤Ï¥é¥¤¥Ö¥é¥ê´Ø¿ô
+はすべてマクロとして定義されているので、これらへの代入
+は移植性を保証されない。標準ストリームはライブラリ関数
 .BR freopen (3)
-¤òÍѤ¤¤ì¤Ð¡¢Ê̤Υե¡¥¤¥ë¤ò¼¨¤¹¤è¤¦¤ËÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
-¤³¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï
+を用いれば、別のファイルを示すように変更することもできる。
+このライブラリ関数は
 .IR stdin ,
 .IR stdout ,
 .I stderr
-¤ÎºÆ³ä¤êÅö¤Æ¤¬²Äǽ¤Ê¤è¤¦¤ËÆÃÊ̤ËƳÆþ¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¡£
-ɸ½à¥¹¥È¥ê¡¼¥à¤Ï
+の再割り当てが可能なように特別に導入されたものである。
+標準ストリームは
 .BR exit (3)
-¤Î¸Æ¤Ó½Ð¤·¤È¡¢¥×¥í¥°¥é¥à¤ÎÀµ¾ï½ªÎ»¤Ë¤è¤Ã¤Æ¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
+の呼び出しと、プログラムの正常終了によってクローズされる。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 .\"O The
 .\"O .IR stdin ,
 .\"O .IR stdout ,
@@ -200,11 +200,11 @@ POSIX.1 
 .IR stdin ,
 .IR stdout ,
 .I stderr
-¥Þ¥¯¥í¤Ï C89 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£
-¤Þ¤¿ C89 ¤Ç¤Ï¡¢¤³¤ì¤é 3 ¤Ä¤Î¥¹¥È¥ê¡¼¥à¤¬¥×¥í¥°¥é¥à
-¤Îµ¯Æ°»þ¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤¬µ¬Äꤵ¤ì¤Æ¤¤¤ë¡£
+マクロは C89 に準拠している。
+また C89 では、これら 3 つのストリームがプログラム
+の起動時にオープンされているべきであることが規定されている。
 .\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
 .\"O The stream
 .\"O .I stderr
 .\"O is unbuffered.
@@ -220,27 +220,27 @@ POSIX.1 
 .\"O This can produce unexpected
 .\"O results, especially with debugging output.
 .I stderr
-¥¹¥È¥ê¡¼¥à¤Ï¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+ストリームはバッファリングされていない。
 .I stdout
-¥¹¥È¥ê¡¼¥à¤Ï¡¢Ã¼Ëö¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¹Ôñ°Ì¤Ç¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°
-¤µ¤ì¤Æ¤¤¤ë¡£°ì¹Ô¤ËËþ¤¿¤Ê¤¤ÆâÍƤϡ¢
+ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81¯ã\80\81端æ\9c«ã\81«æ\8e¥ç¶\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\81¨ã\81\8dã\81«ã\81¯è¡\8cå\8d\98ä½\8dã\81§ã\83\90ã\83\83ã\83\95ã\82¡ã\83ªã\83³ã\82°
+されている。一行に満たない内容は、
 .BR fflush (3)
-¤«
+か
 .BR exit (3)
-¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¡¢²þ¹Ôʸ»ú¤¬°õ»ú¤µ¤ì¤ë¤Þ¤Çɽ¼¨¤µ¤ì¤Ê¤¤¡£¤³¤ì¤Ï¡¢
-Æä˥ǥХå°»þ¤Ë¤ª¤¤¤Æ¡¢Í½´ü¤·¤Ê¤¤·ë²Ì¤òÀ¸¤¸¤ë¸¶°ø¤È¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+が呼び出されるか、改行文字が印字されるまで表示されない。これは、
+特にデバッグ時において、予期しない結果を生じる原因となるかもしれない。
 .\"O The buffering mode of the standard streams (or any other stream)
 .\"O can be changed using the
 .\"O .BR setbuf (3)
 .\"O or
 .\"O .BR setvbuf (3)
 .\"O call.
-ɸ½à¥¹¥È¥ê¡¼¥à¤Î (¤¢¤ë¤¤¤Ï¾¤Î¤¹¤Ù¤Æ¤Î¥¹¥È¥ê¡¼¥à¤Î)
-¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¥â¡¼¥É¤Ï¡¢
+標準ストリームの (あるいは他のすべてのストリームの)
+バッファリングモードは、
 .BR setbuf (3)
-¤Þ¤¿¤Ï
+または
 .BR setvbuf (3)
-¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤ÆÊѹ¹¤Ç¤­¤ë¡£
+を呼び出すことによって変更できる。
 .\"O Note that in case
 .\"O .I stdin
 .\"O is associated with a terminal, there may also be input buffering
@@ -252,20 +252,20 @@ POSIX.1 
 .\"O .BR stty (1),
 .\"O and
 .\"O .BR termios (3).
-¤¿¤À¤·¡¢
+ただし、
 .I stdin
-¤¬Ã¼Ëö¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ï¡¢Ã¼Ëö¤Î¥É¥é¥¤¥Ð¤Ç¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤ë
-²ÄǽÀ­¤¬¤¢¤ëÅÀ¤Ë¤âÃí°Õ¤¹¤ë¤³¤È¡£¤³¤ì¤Ï stdio ¤Î¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤È¤ÏÁ´¤¯
-´Ø·¸¤Ê¤¯Â¸ºß¤·¤¦¤ë¡£ (¼ÂºÝ¡¢Ä̾ï¤À¤ÈüËöÆþÎϤϥ«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¹Ôñ°Ì
-¤Ç¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤ë¡£) ¤³¤Î¥«¡¼¥Í¥ë¤Ë¤è¤ëÆþÎϤΰ·¤¤¤Ï
+が端末に接続されているときは、端末のドライバでバッファリングされている
+可能性がある点にも注意すること。これは stdio のバッファリングとは全く
+関係なく存在しうる。 (実際、通常だと端末入力はカーネルによって行単位
+でバッファリングされている。) このカーネルによる入力の扱いは
 .BR tcsetattr (3)
-¤Ê¤É¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+などの呼び出しによって変更することができる。
 .BR stty (1)
-¤È
+と
 .BR termios (3)
-¤â»²¾È¤¹¤ë¤³¤È¡£
+も参照すること。
 .\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR csh (1),
 .BR sh (1),
 .BR open (2),