strtokについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
uzu

strtokについて

#1

投稿記事 by uzu » 16年前

毎度お世話になってます。
宜しくお願いします。

strtokについてですが、

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

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

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

non

Re:strtokについて

#2

投稿記事 by non » 16年前

>1個もコンマが無い場合はNULLが返ってくるんですよね??

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

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

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

初級者

Re:strtokについて

#3

投稿記事 by 初級者 » 16年前

>質問者さん

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

uzu

Re:strtokについて

#4

投稿記事 by uzu » 16年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る