CSV形式のファイルを読み込むルーチンを作ってます。

0,9,10,文字列1,3,9,12,・・・,
1,3,4,文字列2,5,9,12,・・・,

見たいな感じで数字と文字列が混在してます。

ファイル読み込みにはFILEとfscanfを
数字格納にはintを文字列格納にはCStringを使ってます。
そんで
int a,b,・・・;
CString C;
(中略)
fscanf(fp,"%d,%d,%[^,]s,%d・・・",&a,&b,C・・.);

のようにやってるんですがどうも1行目読み込んだ後2行目3行目と読み込んでくれません
また文字列以降の数字がうまく読み込んでくれません。
このやり方で不可能であれば他の方法を教えてください。関数名とかわかればググリます。