呼び出しの直後にケース3に入ってみても同様でした。token.とありますので、該当するトークンがない場合にはNULLを返すと考えて良いと思います。参考までに、Cリファレンスマニュアル第5版の解説によると、すべての文字がsetに属していればstrtokはナルポインタを返し内部状態ポインタをナルポインタに設定する.とありますので、ケース3の場合も内部ポインタがナルに設定される。質問者の想定と違います。呼ぶことができる」は、前提としてよく、NULLを返すということになります。どこからトークンを探すのか、という疑問があります。Cリファレンスマニュアルのような挙動が規格化されているなら問題ありませんけど、内部ポインタが回答のように設定される記述が規格に見付けられません。逆説的になりますうが、トークンが無い(既にない)場合NULLを返すという仕様動作から保持ポインタをNULLにしておくという実装が想定されます。返った後」のような場合分けの)説明が無いということはそういうコトだと思います。ライブラリ関数の動作説明については、大抵の場合未定義になる場合の動作が説明されています。いう意味でも、未定義になるような動作はしないと思われます。私はC11処理系を使っていないので確認できませんが、strtok_sで保持用ポインタを渡す仕様になっているので、保持用ポインタがどのように処理されるかは確認できるかもしれません。10:04後でちょっと考えてみたら、保持用ポインタについては、トークンが無くなった時、NULLでなくても'\0'を指していてもいいような気がします(つまり次のスタート文字が文字列の終端ならば既に文字列は終端しているとNULLでなくてもわかる)。いう意味では、strtok_sで確認しようとするのは意味が無いかも知れません。10:27私的にな解釈としては、「トークンがない」という状態は保持ポインタが'\0'を指しているにせよNULLになっているにせよ、それらの状態は既に「トークンがない」ということを表しているので、NULLを返すということです。「トークンがある/ない以前の問題」というのは変だと思います。デリミタ);のようにいきなり呼び出した場合には、(ルール違反なので)状態未定義だとは思います。いう状況を防止する実装としては保持ポインタをNULLで初期化し、トークンが無くなった場合にNULLにしておくというのが良い実装かなと個人的には思います。回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。