csv形式の文字列からデータを取得しようと思っています。
まず、データファイルから1行を読み込んで、
   char *s="a1.a2.a3.a4";
   strtok(s,',');
   strtok(NULL,',');・・・
としてa1、a2、a3、a4を取得しています。

でも、データが
"a1,,,a4"
の場合、a1とa4しか取得できません。
a2とa3がNULLであることまで知りたいのですがどうしたらいいでしょうか?

#とりあえず前処理として、",,"を",@,"などに置換してなんとかしようとしたのですが、
#だいぶ冗長な処理になってしまいそうで困っています。