|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
文字列を分割します。
形式
#include <string.h>
char *strsep (char **stringp, char *delim);
関数バリアント
strsep関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための
_strsep32と
_strsep64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。
引数
stringp文字列へのポインタへのポインタ。
delim区切り文字として使用する文字を含んでいる文字列へのポインタ。
説明
strsep関数は,stringp の中で,
delim に含まれる任意の文字 (または終端の '\0' 文字) の最初のオカレンスを探し,それを '\0' に置き換えます。区切り文字 ( または文字列の終端に達した場合は NULL) の次の文字の位置が stringp 引数に格納されます。 stringp 引数の元の値が返されます。
区切り文字が 2 つ隣接していたときに生じる「空」のフィールドは, stringp 引数に返されたポインタが参照している位置を '\0' と比較することで検出できます。
stringp 引数が初期状態で NULL だった場合,
strsepは NULL を返します。
戻り値
x
|
stringp がポイントする文字列のアドレス。
|
NULL
|
stringp が NULL であることを示します。
|
例
次の例は,
strsepを使用して,空白で区切られたトークンを含んでいる文字列を解析し,引数のベクトルに格納します。
char **ap, **argv[10], *inputstring;
for (ap = argv; (*ap = strsep(&inputstring, " \t")) != NULL;)
if (**ap != '\0')
++ap;
|
|