fgetsを使ってcsvからcsvに
csvファイルからfgetsを使い任意の文字列を取り出して新たなcsvファイルに出力したいのですがなかなかうまくいきません。ご指摘の方よろしくお願いします。
csvデータ
社名,住所,番号,設立年,従業員数,分類
山川商事,東京,123,8,60,証券
谷運輸,,578,20,400,運送
空海コンピュータ,,456,,300,ソフトウェア
・
・
・
データの3,5,6番目を取り出したい。(データが入ってない箇所もある)
#include <stdio.h>
int main(void)
{
FILE *fp1,*fp2;
char data[256];
char *data_p = data;
int cnt = 0;
char ch[256];
char *ch_p = ch;
//ファイルオープン(fp1)//
//ファイルクローズ(fp2)//
while (fgets(data, 255, fp1) != NULL) {
if (*data_p != ',') {
if(cnt == 2) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
if (cnt == 4) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
if (cnt == 5) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
} else {
if (cnt == 2) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
if (cnt == 4) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
if (cnt == 5) {
*ch_p = *data_p;
data_p++;
ch_p++;
}
cnt++;
x++;
}
}
y = '\0';
fprintf(fp2, "%s", ch);
fclose(fp1);
fclose(fp2);
}