CSVファイルを関数fscanf()で読み取る
CSVファイルとはMicrosoftExcelでの入出力が便利にできているファイル形式で,Excelの各セルの内容がカンマ(,)で区切られた形式のファイルである。
例
| excel画面 | CSVファイル | ||||||||||||||||||||
      
  | 
    123,456,789,1234 2.30,3.30,4.30,5.30 abc,def,ghi,jkl  | 
このCSVファイルを読み取るときに
1行目はfscanf(fp,"%d,%d,%d,%d",&a,&b,&c,&d);のように書くことができる
2行目はfscanf(fp,"%lf,%lf,%lf,%lf",&p,&q,&r,&s);のように書くことができる
しかし%sの書式はカンマで区切ることができないので,工夫を要する。
そこで次のようにscanfを使うことができる。これはscanfの詳細な説明が必要になる。
詳細な説明は,別のところに譲る。
| 
       CSVファイルを関数fscanf()で読み取るプログラム例  | 
| 
       #include "stdio.h"  | 
| 
       読み込んだファイル tt.csv 文字列データには空白も含まれている  | 
| 123 test1,test2,test3,space 1,space 2,abc,xyz/xyz 12,23,34,45 23,34,45,56 10,20,30,40  | 
| 
       実行結果 (うまく読めているのがわかる)  | 
| >tt.exe num=123 0:[test1] 1:[test2] 2:[test3] 3:[space 1] 4:[space 2] 5:[abc] 6:[xyz/xyz] 12 23 34 45 23 34 45 56 10 20 30 40  |