OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / gets.3
index 0485e6c..8ec8411 100644 (file)
 .\" the source, must acknowledge the copyright and authors of this work.
 .\" License.
 .\" Modified Wed Jul 28 11:12:07 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Fri Sep  8 15:48:13 1995 by Andries Brouwer (aeb@cwi.nl)
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 1997 IMAMURA Nobutaka
-.\"         all rights reserved.
-.\" Translated 1997-02-14, IMAMURA Nobutaka <imamura@spp.hpc.fujitsu.co.jp>
-.\" Updated 1999-08-29, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2001-11-02, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH GETS 3  2008-08-06 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-fgetc, fgets, getc, getchar, gets, ungetc \- Ê¸»ú¤Èʸ»úÎó¤ÎÆþÎÏ
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH GETS 3 2012\-01\-18 GNU "Linux Programmer's Manual"
+.SH 名前
+fgetc, fgets, getc, getchar, gets, ungetc \- 文字と文字列の入力
+.SH 書式
 .nf
-.B #include <stdio.h>
+\fB#include <stdio.h>\fP
 .sp
-.BI "int fgetc(FILE *" stream );
+\fBint fgetc(FILE *\fP\fIstream\fP\fB);\fP
 
-.BI "char *fgets(char *" "s" ", int " "size" ", FILE *" "stream" );
+\fBchar *fgets(char *\fP\fIs\fP\fB, int \fP\fIsize\fP\fB, FILE *\fP\fIstream\fP\fB);\fP
 
-.BI "int getc(FILE *" stream );
+\fBint getc(FILE *\fP\fIstream\fP\fB);\fP
 
-.B "int getchar(void);"
+\fBint getchar(void);\fP
 
-.BI "char *gets(char *" "s" );
+\fBchar *gets(char *\fP\fIs\fP\fB);\fP
 
-.BI "int ungetc(int " c ", FILE *" stream );
+\fBint ungetc(int \fP\fIc\fP\fB, FILE *\fP\fIstream\fP\fB);\fP
 .fi
-.SH ÀâÌÀ
-.BR fgetc ()
-¤Ï¡¢
-.I stream
-¤«¤é¼¡¤Îʸ»ú¤ò
-.I unsigned char
-¤È¤·¤ÆÆɤߡ¢
-.I int
-¤Ë¥­¥ã¥¹¥È¤·¤ÆÊÖ¤¹¡£¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤ä¥¨¥é¡¼¤È¤Ê¤Ã¤¿¾ì¹ç¤Ï
-.B EOF
-¤òÊÖ¤¹¡£
+.SH 説明
+\fBfgetc\fP()  は、 \fIstream\fP から次の文字を \fIunsigned char\fP として読み、 \fIint\fP
+にキャストして返す。ファイルの終わりやエラーとなった場合は \fBEOF\fP を返す。
 .PP
-.BR getc ()
-¤Ï
-.BR fgetc ()
-¤ÈƱÍͤÀ¤¬¡¢
-.I stream
-¤òÊ£¿ô²óɾ²Á¤¹¤ë¥Þ¥¯¥í¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+\fBgetc\fP()  は \fBfgetc\fP()  と同様だが、 \fIstream\fP を複数回評価するマクロとして実装されているかもしれない。
 .PP
-.BR getchar ()
-¤Ï
-.BI "getc(" stdin ) \fR
-¤ÈƱ¤¸¤Ç¤¢¤ë¡£
+\fBgetchar\fP()  は \fBgetc(\fP\fIstdin\fP\fB)\fP と同じである。
 .PP
-.BR gets ()
-¤Ï¡¢²þ¹Ôʸ»ú¤«
-.B EOF
-¤Þ¤Ç¤Î 1¹Ô¤ò
-.I stdin
-¤«¤éÆɤ߹þ¤ß
-.I s
-¤¬»Ø¤¹¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë
-(ËöÈø¤Î²þ¹Ôʸ»ú¤ä
-.B EOF
-¤Ï
-.B \(aq\e0\(aq
-¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë)¡£
-¥Ð¥Ã¥Õ¥¡¡¦¥ª¡¼¥Ð¡¼¥é¥ó¤Î¥Á¥§¥Ã¥¯¤Ï¹Ô¤ï¤ì¤Ê¤¤ (²¼µ­¤Î¡Ö¥Ð¥°¡×¤ò»²¾È)¡£
+\fBgets\fP()  は、改行文字か \fBEOF\fP までの 1行を \fIstdin\fP から読み込み \fIs\fP が指すバッファに格納する
+(末尾の改行文字や \fBEOF\fP は NULL バイト (\(aq\e0\(aq) に置き換えられる)。 バッファオーバーランのチェックは行われない
+(下記の「バグ」を参照)。
 .PP
-.BR fgets ()
-¤Ï
-.I stream
-¤«¤éºÇÂç¤Ç
-.IR size " - 1"
-¸Ä¤Îʸ»ú¤òÆɤ߹þ¤ß¡¢
-.I s
-¤¬»Ø¤¹¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£Æɤ߹þ¤ß¤Ï
-.B EOF
-¤Þ¤¿¤Ï²þ¹Ôʸ»ú¤òÆɤ߹þ¤ó¤À¸å¤ÇÄä»ß¤¹¤ë¡£
-Æɤ߹þ¤Þ¤ì¤¿²þ¹Ôʸ»ú¤Ï¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¤ë¡£
-.B \(aq\e0\(aq
-ʸ»ú¤¬°ì¤Ä¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤ÎºÇ¸å¤Îʸ»ú¤Î¸å¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¡£
+\fBfgets\fP()  は \fIstream\fP から最大で \fIsize\fP \- 1 個の文字を読み込み、 \fIs\fP が指すバッファに格納する。読み込みは
+\fBEOF\fP または改行文字を読み込んだ後で停止する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト
+(\(aq\e0\(aq)  が一つバッファの中の最後の文字の後に書き込まれる。
 .PP
-.BR ungetc ()
-¤Ï¡¢¸å¤Î read Áàºî¤ÇÆɤá¤ë¤è¤¦¤Ë¡¢
-.I c
-¤ò
-.I "unsigned char"
-¤Ë¥­¥ã¥¹¥È¤·¤Æ
-.I stream
-¤Ë½ñ¤­Ì᤹¡£
-½ñ¤­Ìᤵ¤ì¤¿Ê¸»ú¤ÏµÕ½ç¤ËÌᤵ¤ì¤ë;
-½ñ¤­Ìᤷ¤È¤·¤ÆÊݾڤµ¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢°ìʸ»ú¤À¤±¤Ç¤¢¤ë¡£
+\fBungetc\fP()  は、後の read 操作で読めるように、 \fIc\fP を \fIunsigned char\fP にキャストして \fIstream\fP
+に書き戻す。 書き戻された文字は逆順に戻される; 書き戻しとして保証されているのは、一文字だけである。
 .PP
-¤³¤³¤Ç½Ò¤Ù¤¿´Ø¿ô¤ä
-.I stdio
-¥é¥¤¥Ö¥é¥ê¤ÎÆþÎÏ´Ø¿ô¤òƱ¤¸ÆþÎÏ¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¸ß¤¤¤Ëº®¤¼¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
+ここで述べた関数や \fIstdio\fP ライブラリの入力関数を同じ入力ストリームに対して互いに混ぜて使うことができる。
 .PP
-¤³¤ì¤é¤Î½èÍý¤ò¥í¥Ã¥¯¤»¤º¤Ë¹Ô¤¤¤¿¤¤¤È¤­¤Ï¡¢
-.BR unlocked_stdio (3)
-¤ò»²¾È¤Î¤³¤È¡£
-.SH ÊÖ¤êÃÍ
-.BR fgetc (),
-.BR getc (),
-.BR getchar ()
-¤Ï¡¢Ê¸»ú¤ò
-.I unsigned char
-¤È¤·¤ÆÆɤó¤Ç
-.I int
-¤Ë¥­¥ã¥¹¥È¤·¤ÆÊÖ¤¹¡£¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤ä¥¨¥é¡¼¤Î¾ì¹ç¤Ï
-.B EOF
-¤òÊÖ¤¹¡£
+これらの処理を停止せずに行いたいときは、 \fBunlocked_stdio\fP(3)  を参照のこと。
+.SH 返り値
+\fBfgetc\fP(), \fBgetc\fP(), \fBgetchar\fP()  は、文字を \fIunsigned char\fP として読んで \fIint\fP
+にキャストして返す。ファイルの終わりやエラーの場合は \fBEOF\fP を返す。
 .PP
-.BR gets ()
-¤È
-.BR fgets ()
-¤Ï¡¢À®¸ù¤¹¤ë¤È
-.I s
-¤òÊÖ¤·¡¢¥¨¥é¡¼¤ä 1 Ê¸»ú¤âÆɤ߹þ¤ó¤Ç¤¤¤Ê¤¤¤Î¤Ë¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤Ë¤Ê¤Ã¤¿
-¾ì¹ç¤Ë NULL ¤òÊÖ¤¹¡£
+\fBgets\fP()  と \fBfgets\fP()  は、成功すると \fIs\fP を返し、エラーや 1 文字も読み込んでいないのにファイルの終わりになった
+場合に NULL を返す。
 .PP
-.BR ungetc ()
-¤ÏÀ®¸ù¤¹¤ë¤È
-.I c
-¤òÊÖ¤·¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ï
-.B EOF
-¤òÊÖ¤¹¡£
-.SH ½àµò
-C89, C99, POSIX.1-2001.
-LSB ¤Ç¤Ï
-.BR gets ()
-¤ÏÈó¿ä¾©¤Ç¤¢¤ë¡£
-POSIX.1-2008 ¤Ç¤Ï
-.BR gets ()
-¤Î»ÅÍͤ¬ºï½ü¤µ¤ì¤Æ¤¤¤ë¡£
-.SH ¥Ð¥°
-.BR gets ()
-¤ÏÀäÂФ˻ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-Á°¤â¤Ã¤Æ¥Ç¡¼¥¿¤òÃΤ뤳¤È¤Ê¤·¤Ë
-.BR gets ()
-¤¬²¿Ê¸»úÆɤफ¤òÃΤ뤳¤È¤Ï¤Ç¤­¤º¡¢
-.BR gets ()
-¤¬¥Ð¥Ã¥Õ¥¡¤Î½ª¤ï¤ê¤ò±Û¤¨¤Æ½ñ¤­¹þ¤ß³¤±¤ë¤¿¤á¡¢
-.BR gets ()
-¤ò»È¤¦¤Î¤Ï¶Ë¤á¤Æ´í¸±¤Ç¤¢¤ë¡£
-¤³¤ì¤òÍøÍѤ·¤Æ¥³¥ó¥Ô¥å¡¼¥¿¤Î¥»¥­¥å¥ê¥Æ¥£¤¬Çˤé¤ì¤Æ¤­¤¿¡£
-Âå¤ï¤ê¤Ë
-.BR fgets ()
-¤ò»È¤¦¤³¤È¡£
+\fBungetc\fP()  は成功すると \fIc\fP を返し、エラーの場合は \fBEOF\fP を返す。
+.SH 準拠
+C89, C99, POSIX.1\-2001.
+
+LSB は \fBgets\fP() を非推奨としている。
+POSIX.1\-2008 では \fBgets\fP() に廃止予定の印が付けられている。
+ISO C11 では \fBgets\fP)() の規定が C 言語から削除されている。
+glibc バージョン 2.16 以降では、機能検査マシン \fB_ISOC11_SOURCE\fP が定義された
+場合、glibc ヘッダファイルでは \fBgets\fP)() の宣言が公開されない。
+.SH バグ
+\fBgets\fP()  は絶対に使用してはならない。 前もってデータを知ることなしに \fBgets\fP()  が何文字読むかを知ることはできず、
+\fBgets\fP()  がバッファの終わりを越えて書き込み続けるため、 \fBgets\fP()  を使うのは極めて危険である。
+これを利用してコンピュータのセキュリティが破られてきた。 代わりに \fBfgets\fP()  を使うこと。
 .PP
-ÆþÎÏ¥¹¥È¥ê¡¼¥à¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ¡¢
-.I stdio
-¥é¥¤¥Ö¥é¥ê¤ÎÆþÎÏ´Ø¿ô¤È¡¢Äã¥ì¥Ù¥ë¸Æ¤Ó½Ð¤·¤Î
-.BR read (2)
-¤òº®¤¼¤Æ¸Æ¤Ó½Ð¤¹»ö¤Ï´«¤á¤é¤ì¤Ê¤¤¡£
-·ë²Ì¤¬¤É¤¦¤Ê¤ë¤«¤Ïʬ¤«¤é¤º¡¢¤ª¤½¤é¤¯¤¢¤Ê¤¿¤Î
-˾¤ó¤Ç¤¤¤ë·ë²Ì¤Ë¤Ï¤Ê¤é¤Ê¤¤¤À¤í¤¦¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR read (2),
-.BR write (2),
-.BR ferror (3),
-.BR fgetwc (3),
-.BR fgetws (3),
-.BR fopen (3),
-.BR fread (3),
-.BR fseek (3),
-.BR getline (3),
-.BR getwchar (3),
-.BR puts (3),
-.BR scanf (3),
-.BR ungetwc (3),
-.BR unlocked_stdio (3)
+入力ストリームのファイルディスクリプタに対して、 \fIstdio\fP ライブラリの入力関数と、低レベル呼び出しの \fBread\fP(2)
+を混ぜて呼び出す事は勧められない。 結果がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。
+.SH 関連項目
+\fBread\fP(2), \fBwrite\fP(2), \fBferror\fP(3), \fBfgetwc\fP(3), \fBfgetws\fP(3),
+\fBfopen\fP(3), \fBfread\fP(3), \fBfseek\fP(3), \fBgetline\fP(3), \fBgetwchar\fP(3),
+\fBputs\fP(3), \fBscanf\fP(3), \fBungetwc\fP(3), \fBunlocked_stdio\fP(3),
+\fBfeature_test_macros\fP(7)