CSVファイルを読み込んで構造体に登録したいです。 ,, が続く値がない場所には0を入れたいのですがなかなかうまくいきません。どなたか間違いがありましたらをご指摘お願いいたします。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "csv_lib.h"
#include "csv_struct.h"
int main(void){
char str_2[CSV_RECODE_SIZE_MAX];
FILE *fp2;
CARSPRICE carsprice[1024];
int DataCount_2 = 0;
fp2 = fopen("cars_price_list.csv","r");
while(fgets(str_2, CSV_RECODE_SIZE_MAX, fp2)){
sscanf(str_2, "%[^,],%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
carsprice[DataCount_2].car_code,
&carsprice[DataCount_2].car_base,
&carsprice[DataCount_2].option_price[0],
&carsprice[DataCount_2].option_price[1],
&carsprice[DataCount_2].option_price[2],
&carsprice[DataCount_2].option_price[3],
&carsprice[DataCount_2].option_price[4],
&carsprice[DataCount_2].option_price[5],
&carsprice[DataCount_2].option_price[6],
&carsprice[DataCount_2].option_price[7],
&carsprice[DataCount_2].option_price[8],
&carsprice[DataCount_2].option_price[9],
&carsprice[DataCount_2].option_price[10],
&carsprice[DataCount_2].option_price[11],
&carsprice[DataCount_2].option_price[12],
&carsprice[DataCount_2].option_price[13],
&carsprice[DataCount_2].option_price[14],
&carsprice[DataCount_2].option_price[15]);
DataCount_2++;
printf(str_2);
}
if(carsprice[DataCount_2].option_price[0]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[1]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[2]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[3]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[4]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[5]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[6]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[7]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[8]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[9]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[10]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[11]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[12]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[13]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[14]==NULL)
return 0;
if(carsprice[DataCount_2].option_price[15]==NULL)
return 0;
fclose(fp2);
}
CSVファイルの内容です。
1010,850000,95000,,76000,,10000,16000,16000,,,91000,,,72000,66000,38000,29000
1020,780000,14000,37000,87000,90000,49000,30000,3000,,4000,,38000,78000,,,77000,
1030,680000,24000,73000,32000,63000,72000,41000,40000,,67000,50000,,82000,19000,,34000,
1040,1060000,65000,,69000,85000,,85000,,,,38000,,,1000,89000,24000,14000
1050,1420000,86000,65000,62000,,33000,62000,37000,47000,,0,82000,79000,48000,3000,72000,
1060,1220000,3000,91000,80000,75000,,99000,,81000,67000,51000,,54000,,15000,46000,92000
1070,760000,19000,96000,40000,94000,98000,,56000,,86000,5000,52000,,40000,42000,,
1080,1030000,98000,,56000,,,,,16000,97000,,26000,,29000,20000,9000,72000
1090,800000,67000,,44000,49000,,63000,,57000,31000,,25000,64000,42000,97000,36000,97000
1100,1390000,,,,39000,88000,88000,39000,70000,,26000,,,75000,45000,42000,17000
1110,530000,25000,,62000,,,,62000,1000,,47000,,,71000,37000,56000,10000