strtokを使って配列へ文字列の代入 備忘録

 

Bonjour!

 

C言語の練習の一環としてpaizaを利用させてもらってます。

ちょこちょこタイトルに出てる関数”strtok”を使うことがあるんですけど、

毎回使い方忘れて無駄に調べる時間があるので、

備忘録としてここに書きます。

 

“strtok”は一つの文字列を”.” ”-“ ”(スペース)”などのキーワード

にすることで分割する働きがある関数です。

標準入力から”ABC def IJK”をchar型の変数に代入されます。

これを配列に代入しなおして別々のものとして扱うときにstrtokが

出てくるんですけど、これが毎回やり方を忘れてしまう(物覚えが悪い…)

とゆうことでスペースをキーワードにして文字列を分割していきます。

 

 

分割のされ方は以下の通りです。

 

①一回目のstrtokでstrの頭からキーワード”(スペース)”までを読み込みlistに返します。

②このとき”(スペース)”は”NULL”に書き換えられます。

③二回目以降のstrtokでは”NULL”から次の”(スペース)”までを読み込みlistに返します。

④同じように”(スペース)”は”NULL”に書き換えられます。

 

簡単ではありますが(自身の理解度がこの程度の為。。。)以上です。

 

これで無駄に小一時間調べることがなくなるはず。。。笑