もっと詳しく

C言語の文字列分割用関数strtok()を利用する場合、以下の点に注意する必要があります。
区切り文字として指定した文字が2つ連続した場合、そのデータを読み飛ばしてしまいます。
例えば、カンマ区切りで”test,,123″のようなデータを渡すと、testと123は読み取れますが、testと123の間にあるデータは、勝手に読み飛ばしてしまいます。

そのため、分割する文字列内で区切り文字が連続するようなデータに対して、strtok()で文字列を分割することは避けた方が良いでしょう。

以下は、この動作を確認するためのサンプルです。

続きを読む