aboutsummaryrefslogtreecommitdiff
path: root/documentation/manual-pages/ja/man3/strtok.3
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/manual-pages/ja/man3/strtok.3')
-rw-r--r--documentation/manual-pages/ja/man3/strtok.3182
1 files changed, 182 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man3/strtok.3 b/documentation/manual-pages/ja/man3/strtok.3
new file mode 100644
index 0000000000..853b57e46c
--- /dev/null
+++ b/documentation/manual-pages/ja/man3/strtok.3
@@ -0,0 +1,182 @@
+.\" Copyright (c) 1998 Softweyr LLC. All rights reserved.
+.\"
+.\" strtok_r, from Berkeley strtok
+.\" Oct 13, 1998 by Wes Peters <wes@softweyr.com>
+.\"
+.\" Copyright (c) 1988, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the American National Standards Committee X3, on Information
+.\" Processing Systems.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notices, this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above
+.\" copyright notices, this list of conditions and the following
+.\" disclaimer in the documentation and/or other materials provided
+.\" with the distribution.
+.\"
+.\" 3. All advertising materials mentioning features or use of this
+.\" software must display the following acknowledgement:
+.\"
+.\" This product includes software developed by Softweyr LLC, the
+.\" University of California, Berkeley, and its contributors.
+.\"
+.\" 4. Neither the name of Softweyr LLC, the University nor the names
+.\" of its contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written
+.\" permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY SOFTWEYR LLC, THE REGENTS AND
+.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED. IN NO EVENT SHALL SOFTWEYR LLC, THE REGENTS, OR
+.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)strtok.3 8.2 (Berkeley) 2/3/94
+.\" %FreeBSD: src/lib/libc/string/strtok.3,v 1.10.2.8 2001/12/14 18:33:59 ru Exp %
+.\"
+.\" $FreeBSD$
+.Dd November 27, 1998
+.Dt STRTOK 3
+.Os
+.Sh 名称
+.Nm strtok , strtok_r
+.Nd 文字列のトークン
+.Sh ライブラリ
+.Lb libc
+.Sh 書式
+.In string.h
+.Ft char *
+.Fn strtok "char *str" "const char *sep"
+.Ft char *
+.Fn strtok_r "char *str" "const char *sep" "char **last"
+.Sh 解説
+.Bf -symbolic
+このインタフェースは
+.Xr strsep 3
+によって置き換えられました。
+.Ef
+.Pp
+.Fn strtok
+関数は、ヌルで終端された文字列
+.Fa str
+の中の連続するトークンを分割するために用いられます。
+これらのトークンは、その文字列内で
+.Fa sep
+の中の文字の少なくとも 1 つによって区分されています。
+最初に
+.Fn strtok
+を呼び出すときには、
+.Fa str
+を指定する必要があります。
+同じ文字列からさらにトークンを取得するために
+続いて呼び出すときには、
+代わりに空ポインタを渡す必要があります。
+セパレータ文字列
+.Fa sep
+は毎回与えなければなりませんが、
+呼び出しのたびに変更しても構いません。
+.\".Pp
+.\"The implementation will behave as if no library function calls
+.\".Fn strtok .
+.Pp
+ライブラリは、実装上、他のライブラリ関数が
+.Fn strtok
+を呼び出したりしないかのように動作します。
+.Pp
+.Fn strtok_r
+関数は
+.Fn strtok
+の再入可能なバージョンです。
+コンテキストポインタ
+.Fa last
+は、呼び出し毎に与えなければなりません。
+.Fn strtok_r
+は、別々のコンテキストポインタが使われている限りでは、
+お互いの内部で 2 つのパースループを入れ子にするためにも使えます。
+.Pp
+.Fn strtok
+および
+.Fn strtok_r
+関数は、そのトークン自体を
+.Dv NUL
+文字で置き換えた後、
+文字列の次のトークンの先頭へのポインタを返します。
+トークンがなくなると、NULL ポインタを返します。
+.Sh 例
+次の例では、別々のコンテキストを使って 2 つの文字列を
+パースするために
+.Fn strtok_r
+を使っています:
+.Bd -literal
+char test[80], blah[80];
+char *sep = "\e\e/:;=-";
+char *word, *phrase, *brkt, *brkb;
+
+strcpy(test, "This;is.a:test:of=the/string\e\etokenizer-function.");
+
+for (word = strtok_r(test, sep, &brkt);
+ word;
+ word = strtok_r(NULL, sep, &brkt))
+{
+ strcpy(blah, "blah:blat:blab:blag");
+
+ for (phrase = strtok_r(blah, sep, &brkb);
+ phrase;
+ phrase = strtok_r(NULL, sep, &brkb))
+ {
+ printf("So far we're at %s:%s\en", word, phrase);
+ }
+}
+.Ed
+.Sh 関連項目
+.Xr memchr 3 ,
+.Xr strchr 3 ,
+.Xr strcspn 3 ,
+.Xr strpbrk 3 ,
+.Xr strrchr 3 ,
+.Xr strsep 3 ,
+.Xr strspn 3 ,
+.Xr strstr 3
+.Sh 規格
+.Fn strtok
+関数は、
+.St -isoC
+に適合しています。
+.Sh バグ
+System V の
+.Fn strtok
+は、区切り文字のみからなる文字列を渡された場合は、
+次の開始点を変更しません。
+異なる (または空の) 区切り文字列を使った
+.Fn strtok
+の呼び出しで、
+.Dv NULL
+.\" .Pf non- Dv NULL (オリジナル記述)
+以外の値を返せるようにするためです。
+この実装では常に次の開始点を変更するので、
+そのような呼び出しが続く時は常に
+.Dv NULL
+を返すことになります。
+.Sh 作者
+.An Wes Peters ,
+Softweyr LLC:
+.Aq wes@softweyr.com
+.Pp
+.Fx 3.0
+での実装に基づきます。