ページ 11

strtokについて

Posted: 2009年6月10日(水) 16:15
by uzu
毎度お世話になってます。
宜しくお願いします。

strtokについてですが、

例えばある文字列を「,」コンマで分割したい場合、

char *tp;
char *moji;
tp = strtok(moji, ",");

文字列にコンマがある場合、1回目の分割では先頭アドレスが返ってきますが、
1個もコンマが無い場合はNULLが返ってくるんですよね??

Re:strtokについて

Posted: 2009年6月10日(水) 18:28
by non
>1個もコンマが無い場合はNULLが返ってくるんですよね??

msdn
http://msdn.microsoft.com/ja-jp/library/2c8d19sb(VS.80).aspx
の説明に

strToken で見つかった次のトークンへのポインタを返します。それ以上トークンが見つからない
場合は、NULL を返します。呼び出されるたびに、見つかった区切り文字を null 文字に置換して
strToken を変更します。

とありますので、先頭のアドレスが返ってくると思われます。

Re:strtokについて

Posted: 2009年6月10日(水) 18:56
by 初級者
>質問者さん

まずは自分でテストプログラムを書いてみる、
という発想が出てこないのでしょうか?

Re:strtokについて

Posted: 2009年6月11日(木) 08:44
by uzu
>non様
>初級者様
返信ありがとうございます。
テストプログラムを書いて、
strtokを実行して返ってくるアドレスを確認しましたが、
①区切り文字が1つもない文字列 →先頭アドレス
②区切り文字のみの文字列 →NULL
という結果になりました。
私は①の場合もNULLが返ってくるのではと思っていたので、
みなさまに確認したかったのです。
ありがとうございました。