区切り文字があるデータ構造を分割する場合、Python なら以下のように split メソッドを使用すれば良いです。 $ python -c "print 'a,b,c,33,e'.split(',')" ['a', 'b', 'c', '33', 'e'] $ python -c "print 'a,,c,,e'.split(',')" ['a', '', 'c', '', 'e'] 今、この処理を C 言語でやりたいとします。私は C 言語の開発経験がほとんどないのですが、引き継いだコードでは、strchr() で区切り文字のポジションを取得し、そのポジションに NULL 文字をセットして strdup() で取得します。C 言語には文字列の概念がないために strchr() のような関数に渡される引数は NULL 文字で終わるバイナリデータ = 文字列として解釈します*1。つまり N