C言語 CSVからTXTへ書き込み
CSVファイルのデータを配列に格納してtest.txtに書き込みたいです。
その際、指定した列だけを書き込むのですが、うまくいきません。
a.txtの中身が
a1,a2,a3,a4,a5
b1,b2,b3,b4,b5
c1,c2,c3,c4,c5
だとしたら、a1,a2,a3,a4,a5だけしか書き込めていません。
test.txtに書き込みたいのは、
a3
b3
c3
のようにしたいです。
初心者ですが、なかなかうまくいかないのでくやしいです。。。
お詳しい方、ご教授よろしくお願いします。
#define LINE_MAX 1024
#define ITEM_MAX 200
FILE *fp;
char in_file[] = "a.txt";
char line[LINE_MAX];
char delmit[] = ",\n";
char item[ITEM_MAX][100];
char *item_p;
int item_idx,ii;
if((fp = fopen(fnamebuff, "r")) != NULL)
{
while(fgets(line, LINE_MAX, fp) != NULL)
{
if((item_p = strtok(line, delmit)) != NULL)
{
strcpy(&item[0][0], item_p);
for(item_idx = 1; item_idx < ITEM_MAX; ++item_idx)
{
if((item_p = strtok(NULL, delmit)) != NULL)
{
strcpy(&item[item_idx][0], item_p);
}
else
{
item[item_idx][0] = '\0';
}
}
}
FILE *fl;
fl=fopen("test.txt","w");
for(ii=0;ii<200;ii++){
fprintf(fl," %s ",
&item[ii][0]);
}
fclose(fl);
fclose(fp);
}
}
補足
int型です。