- ベストアンサー
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); }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- seta_takahiro
- ベストアンサー率60% (23/38)
お礼
なるほど、こういったコーディングもあるのですね。 参考にさせてもらいます。