C/C++

【C言語】fscanfでファイルを1行ずつ読み込む

更新日:

スポンサードリンク

C言語のfscanfでCSV形式(単純なカンマ区切り)のファイルを読み込むサンプル。
基本的なことですがたまに忘れるのでメモ。

読み込むファイル

test.csv
4.2,1.6,1.1
6.0,4.8,8.1
3.5,2.1,6.6
1.0,7.1,3.5
#include<stdio.h>
 int main(void){
  FILE *fp ;
  //ファイルを開く
  if((fp=fopen("test.csv","r"))!=NULL){
   double buf[3];
   //ファイルが終わるまで読み込む
   while( fscanf(fp,"%lf,%lf,%lf",&buf[0],&buf[1],&buf[2]) != EOF ){
   printf("%lf,%lf,%lf\n",buf[0],buf[1],buf[2]);
  }
 fclose(fp);
 }
}
4.200000,1.600000,1.100000
6.000000,4.800000,8.100000
3.500000,2.100000,6.600000
1.000000,7.100000,3.500000

EOF(エンドオブファイル)は-1として定義されており、ファイルの終わりかどうかを判定しています。

スポンサードリンク

-C/C++

Copyright© めめんと , 2019 All Rights Reserved Powered by AFFINGER5.