OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man3 / strtok.3
index 3b2add1..d7c73d4 100644 (file)
 .TH STRTOK 3  2010-09-27 "GNU" "Linux Programmer's Manual"
 .\"O .SH NAME
 .\"O strtok, strtok_r \- extract tokens from strings
-.SH Ì¾Á°
-strtok, strtok_r \- Ê¸»úÎ󤫤é¥È¡¼¥¯¥ó¤ò¼è¤ê½Ð¤¹
+.SH 名前
+strtok, strtok_r \- 文字列からトークンを取り出す
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <string.h>
 .sp
@@ -50,9 +50,9 @@ strtok, strtok_r \- ʸ
 .in -4n
 .\"O Feature Test Macro Requirements for glibc (see
 .\"O .BR feature_test_macros (7)):
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .sp
 .ad l
@@ -61,7 +61,7 @@ _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE\ >=\ 1 ||
 _XOPEN_SOURCE || _POSIX_SOURCE
 .ad b
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O The
 .\"O .BR strtok ()
 .\"O function parses a string into a sequence of tokens.
@@ -72,19 +72,19 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O In each subsequent call that should parse the same string,
 .\"O \fIstr\fP should be NULL.
 .BR strtok ()
-´Ø¿ô¤Ïʸ»úÎó¤ò²òÀϤ·¤Æ¥È¡¼¥¯¥ó¤Ëʬ³ä¤¹¤ë¡£
+関数は文字列を解析してトークンに分割する。
 .BR strtok ()
-¤òºÇ½é¤Ë¸Æ¤Ó½Ð¤¹ºÝ¤Ë¤Ï¡¢²òÀÏÂоݤÎʸ»úÎó¤ò \fIstr\fP ¤Ë
-»ØÄꤹ¤ë¡£Æ±¤¸Ê¸»úÎó¤Î²òÀϤò¹Ô¤¦¤½¤Î¸å¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ï¡¢
-\fIstr\fP ¤Ë¤Ï NULL ¤ò»ØÄꤹ¤ë¡£
+を最初に呼び出す際には、解析対象の文字列を \fIstr\fP に
+指定する。同じ文字列の解析を行うその後の呼び出しでは、
+\fIstr\fP には NULL を指定する。
 
 .\"O The \fIdelim\fP argument specifies a set of characters that
 .\"O delimit the tokens in the parsed string.
 .\"O The caller may specify different strings in \fIdelim\fP in successive
 .\"O calls that parse the same string.
-\fIdelim\fP °ú¤­¿ô¤Ë¤Ï¡¢²òÀϤ¹¤ëʸ»úÎó¤ò¥È¡¼¥¯¥ó¤Ë¶èÀÚ¤ëʸ»ú½¸¹ç¤ò
-»ØÄꤹ¤ë¡£Æ±¤¸Ê¸»úÎó¤ò²òÀϤ¹¤ë°ìÏ¢¤Î¸Æ¤Ó½Ð¤·¤Ë¤ª¤¤¤Æ¡¢
-\fIdelim\fP ¤Ë°ã¤¦Ê¸»úÎó¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£
+\fIdelim\fP 引き数には、解析する文字列をトークンに区切る文字集合を
+指定する。同じ文字列を解析する一連の呼び出しにおいて、
+\fIdelim\fP に違う文字列を指定してもよい。
 
 .\"O Each call to
 .\"O .BR strtok ()
@@ -95,10 +95,10 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O .BR strtok ()
 .\"O returns NULL.
 .BR strtok ()
-¤Î¤½¤ì¤¾¤ì¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ï¡¢¼¡¤Î¥È¡¼¥¯¥ó¤ò
-³ÊǼ¤·¤¿ NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬ÊÖ¤µ¤ì¤ë¡£
-¤³¤Îʸ»úÎó¤Ë¤Ï¶èÀÚ¤êʸ»ú¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£
-¤³¤ì°Ê¾å¥È¡¼¥¯¥ó¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢NULL ¤¬ÊÖ¤µ¤ì¤ë¡£
+のそれぞれの呼び出しでは、次のトークンを
+格納した NULL 終端された文字列へのポインタが返される。
+この文字列には区切り文字は含まれない。
+これ以上トークンが見つからなかった場合には、NULL が返される。
 
 .\"O A sequence of two or more contiguous delimiter characters in
 .\"O the parsed string is considered to be a single delimiter.
@@ -106,11 +106,11 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O Put another way: the tokens returned by
 .\"O .BR strtok ()
 .\"O are always nonempty strings.
-²òÀÏÂоݤÎʸ»úÎó¤Ë2¤Ä°Ê¾å¤Î¶èÀÚ¤êʸ»ú¤¬Ï¢Â³¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
-°ì¤Ä¤Î¶èÀÚ¤êʸ»ú¤È¤ß¤Ê¤µ¤ì¤ë¡£
-ʸ»úÎó¤ÎÀèƬ¤äËöÈø¤Ë¤¢¤ë¶èÀÚ¤êʸ»ú¤Ï̵»ë¤µ¤ì¤ë¡£¸À¤¤´¹¤¨¤ë¤È¡¢
+解析対象の文字列に2つ以上の区切り文字が連続している場合には、
+一つの区切り文字とみなされる。
+文字列の先頭や末尾にある区切り文字は無視される。言い換えると、
 .BR strtok ()
-¤¬ÊÖ¤¹¥È¡¼¥¯¥ó¤Ï¾ï¤Ë¶õ¤Ç¤Ê¤¤Ê¸»úÎó¤È¤Ê¤ë¡£
+が返すトークンは常に空でない文字列となる。
 
 .\"O The
 .\"O .BR strtok_r ()
@@ -122,15 +122,15 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O in order to maintain context between successive calls that parse the
 .\"O same string.
 .BR strtok_r ()
-´Ø¿ô¤Ï
+関数は
 .BR strtok ()
-¤Î¥ê¥¨¥ó¥È¥é¥ó¥ÈÈǤǤ¢¤ë¡£
-\fIsaveptr\fP °ú¤­¿ô¤Ï \fIchar *\fP ÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢
-Ʊ¤¸Ê¸»úÎó¤Î²òÀϤò¹Ô¤¦
+のリエントラント版である。
+\fIsaveptr\fP 引き数は \fIchar *\fP 変数へのポインタであり、
+同じ文字列の解析を行う
 .BR strtok_r ()
-¤Î¸Æ¤Ó½Ð¤·´Ö¤Ç½èÍý¾õ¶·¤òÊݸ¤¹¤ë¤¿¤á¤Ë
+の呼び出し間で処理状況を保存するために
 .BR strtok_r ()
-ÆâÉô¤Ç»ÈÍѤµ¤ì¤ë¡£
+内部で使用される。
 
 .\"O On the first call to
 .\"O .BR strtok_r (),
@@ -141,24 +141,24 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O In subsequent calls, \fIstr\fP should be NULL, and
 .\"O \fIsaveptr\fP should be unchanged since the previous call.
 .BR strtok_r ()
-¤òºÇ½é¤Ë¸Æ¤Ó½Ð¤¹ºÝ¤Ë¤Ï¡¢
+を最初に呼び出す際には、
 .I str
-¤Ï²òÀÏÂоݤÎʸ»úÎó¤ò»Ø¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
+は解析対象の文字列を指していなければならず、
 .I saveptr
-¤ÎÃͤÏ̵»ë¤µ¤ì¤ë¡£¤½¤ì°Ê¹ß¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ï¡¢
+の値は無視される。それ以降の呼び出しでは、
 .I str
-¤Ï NULL ¤È¤·¡¢
+は NULL とし、
 .I saveptr
-¤ÏÁ°²ó¤Î¸Æ¤Ó½Ð¤·°Ê¹ßÊѹ¹¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+は前回の呼び出し以降変更しないようにしなければならない。
 
 .\"O Different strings may be parsed concurrently using sequences of calls to
 .\"O .BR strtok_r ()
 .\"O that specify different \fIsaveptr\fP arguments.
 .BR strtok_r ()
-¤Î¸Æ¤Ó½Ð¤·»þ¤Ë°Û¤Ê¤ë \fIsaveptr\fP °ú¤­¿ô¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢
-°Û¤Ê¤ëʸ»úÎó¤Î²òÀϤòƱ»þ¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
+の呼び出し時に異なる \fIsaveptr\fP 引き数を指定することで、
+異なる文字列の解析を同時に行うことができる。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O The
 .\"O .BR strtok ()
 .\"O and
@@ -166,12 +166,12 @@ _XOPEN_SOURCE || _POSIX_SOURCE
 .\"O functions return a pointer to
 .\"O the next token, or NULL if there are no more tokens.
 .BR strtok ()
-¤È
+と
 .BR strtok_r ()
-¤Ï¼¡¤Î¥È¡¼¥¯¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¤«¡¢
-¥È¡¼¥¯¥ó¤¬¤Ê¤±¤ì¤Ð NULL ¤òÊÖ¤¹¡£
+は次のトークンへのポインタか、
+トークンがなければ NULL を返す。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 .TP
 .BR strtok ()
 SVr4, POSIX.1-2001, 4.3BSD, C89, C99.
@@ -179,20 +179,20 @@ SVr4, POSIX.1-2001, 4.3BSD, C89, C99.
 .BR strtok_r ()
 POSIX.1-2001.
 .\"O .SH "BUGS"
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O Be cautious when using these functions.
 .\"O If you do use them, note that:
-¤³¤ì¤é¤Î´Ø¿ô¤ò»È¤¦¤Î¤Ï¿µ½Å¤Ë¶ãÌ£¤¹¤ë¤³¤È¡£
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤ÎÅÀ¤ËÃí°Õ¤¬É¬ÍפǤ¢¤ë¡£
+これらの関数を使うのは慎重に吟味すること。
+使用する場合は、以下の点に注意が必要である。
 .IP * 2
 .\"O These functions modify their first argument.
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¤½¤ÎºÇ½é¤Î°ú¿ô¤òÊѹ¹¤¹¤ë¡£
+これらの関数はその最初の引数を変更する。
 .IP *
 .\"O These functions cannot be used on constant strings.
-¤³¤ì¤é¤Î´Ø¿ô¤Ï const ¤Êʸ»úÎó¤Ç¤Ï»È¤¨¤Ê¤¤¡£
+これらの関数は const な文字列では使えない。
 .IP *
 .\"O The identity of the delimiting character is lost.
-¶èÀÚ¤êʸ»ú¼«ÂΤϼº¤ï¤ì¤Æ¤·¤Þ¤¦¡£
+区切り文字自体は失われてしまう。
 .IP *
 .\"O The
 .\"O .BR strtok ()
@@ -201,12 +201,12 @@ POSIX.1-2001.
 .\"O .BR strtok_r ()
 .\"O if this matters to you.
 .BR strtok ()
-´Ø¿ô¤Ïʸ»úÎó¤Î²òÀϤËÀÅŪ¥Ð¥Ã¥Õ¥¡¤òÍѤ¤¤ë¤Î¤Ç¡¢¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ç¤Ê¤¤¡£
-¤³¤ì¤¬ÌäÂê¤Ë¤Ê¤ë¾ì¹ç¤Ï
+関数は文字列の解析に静的バッファを用いるので、スレッドセーフでない。
+これが問題になる場合は
 .BR strtok_r ()
-¤òÍѤ¤¤ë¤³¤È¡£
+を用いること。
 .\"O .SH EXAMPLE
-.SH Îã
+.SH 
 .\"O The program below uses nested loops that employ
 .\"O .BR strtok_r ()
 .\"O to break a string into a two-level hierarchy of tokens.
@@ -215,19 +215,19 @@ POSIX.1-2001.
 .\"O to be used to separate that string into "major" tokens.
 .\"O The third argument specifies the delimiter character(s)
 .\"O to be used to separate the "major" tokens into subtokens.
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï¡¢
+以下のプログラムは、
 .BR strtok_r ()
-¤òÍøÍѤ¹¤ë¥ë¡¼¥×¤òÆþ¤ì»Ò¤Ë¤·¤Æ»ÈÍѤ·¡¢
-ʸ»úÎó¤ò2³¬ÁؤΥȡ¼¥¯¥ó¤Ëʬ³ä¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
-1ÈÖÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤­¿ô¤Ë¤Ï¡¢²òÀÏÂоݤÎʸ»úÎó¤ò»ØÄꤹ¤ë¡£
-2ÈÖÌܤΰú¤­¿ô¤Ë¤Ï¡¢Ê¸»úÎó¤ò¡ÖÂ礭¤Ê¡×¥È¡¼¥¯¥ó¤Ëʬ³ä¤¹¤ë¤¿¤á¤Ë
-»ÈÍѤ¹¤ë¶èÀÚ¤êʸ»ú¤ò»ØÄꤹ¤ë¡£
-3ÈÖÌܤΰú¤­¿ô¤Ë¤Ï¡¢¡ÖÂ礭¤Ê¡×¥È¡¼¥¯¥ó¤òºÙ¤«¤¯Ê¬³ä¤¹¤ë¤¿¤á¤Ë
-»ÈÍѤ¹¤ë¶èÀÚ¤êʸ»ú¤ò»ØÄꤹ¤ë¡£
+を利用するループを入れ子にして使用し、
+文字列を2階層のトークンに分割するものである。
+1番目のコマンドライン引き数には、解析対象の文字列を指定する。
+2番目の引き数には、文字列を「大きな」トークンに分割するために
+使用する区切り文字を指定する。
+3番目の引き数には、「大きな」トークンを細かく分割するために
+使用する区切り文字を指定する。
 .PP
 .PP
 .\"O An example of the output produced by this program is the following:
-¤³¤Î¥×¥í¥°¥é¥à¤Î½ÐÎÏÎã¤ò°Ê²¼¤Ë¼¨¤¹¡£
+このプログラムの出力例を以下に示す。
 .PP
 .in +4n
 .nf
@@ -243,7 +243,7 @@ POSIX.1-2001.
 .fi
 .in
 .\"O .SS Program source
-.SS ¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹
+.SS ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®ã\82½ã\83¼ã\82¹
 \&
 .nf
 #include <stdio.h>
@@ -286,11 +286,11 @@ main(int argc, char *argv[])
 .\"O can be found in
 .\"O .BR getaddrinfo_a (3).
 .BR strtok ()
-¤ò»È¤Ã¤¿ÊÌ¤Î¥×¥í¥°¥é¥àÎ㤬
+を使った別のプログラム例が
 .BR getaddrinfo_a (3)
-¤Ë¤¢¤ë¡£
+にある。
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR index (3),
 .BR memchr (3),
 .BR rindex (3),