インターネット上のファイルや情報を一意に特定するために,Uniform Resource Locator (URL) と呼ばれる記述方式が用いられている.URLは
<スキーム>://(<ユーザ>:<パスワード>@)<ホスト>(:<ポート番号>)/<パス>という形式であり,例えば本実験のホームページは,
関数char *strtok(char *s1, char *s2)は,分解される文字列s1と 区切り文字を含む文字列s2を受け取り,s1の先頭から最初の区切り 文字(の手前)までの文字列(トークン)へのポインタを返す(最後まで区切り 文字がなければ文字列全体を,返すべき文字列がなければNULLを返す). 同じ文字列に対して2番目,3番目...のトークンを分解する場合,2回目以 降は第一引数をNULLにして呼び出す.strtok 関数は,区切り文字 を終端文字(' \ 0')に置き換えていくので,s1の内容 は実行前後で異なる事に注意.
ダウンロードしたサンプルのうち,sample/cディレクト
リにあるsample1.cは,strtok関数を利用した例である.入力を受
け付け,入力された文字列を「空白文字とカンマと改行文字」を区切り文字と見
做してトークンに分割し,最初から3つのトークンを表示して終了する.
% gcc -o sample1 sample1.c % ./sample1 foo, bar, and hoge (標準入力) 1st = foo; 2nd = bar; 3rd = and
また,付録D章を参考にして,デバッガgdbによって sample1.cにおけるstrtok関数の動作を確認せよ.
さらなる詳細はmanページや他の解説を参照すること.
NAKAZAWA Koji