- ベストアンサー
連番のファイルを何個も開きたい
FILE *ab_1,*ab_2,*ab_3,*ab_4,*ab_5,*ab_6,*ab_7,*ab_8,*ab_9,*ab_10,*ab_11,*ab_12,*ab_13,*ab_14,*ab_15,*ab_16; ab_1=fopen("1.txt","w"); ab_2=fopen("2.txt","w"); ab_3=fopen("3.txt","w"); ab_4=fopen("4.txt","w"); ab_5=fopen("5.txt","w"); ・ ・ ・ ab_15=fopen("15.txt","w"); ab_16=fopen("16.txt","w"); という作業をfor文で回せるようにしたいのですがどうしたらいいでしょうか? 自分で作ってみたのは #include<stdio.h> main() { int i; char buf[256],file_name[256]; for(i=0;i<16;i++){ sprintf(buf,"ab_%d",i); sprintf(file_name,"%d.txt",i); FILE *buf; buf = fopen(file_name,"w"); } fprintf(ab_1,"test\n"); } とやってみたのですが、実際にfprintfで出力しようとするとファイルポインタ ab_1 が定義されていません。みたいなエラーが出てしまいます。 sprintfで取った文字をファイルポインタにしようとしてるところがいけないんだとは思うのですが何かいい方法はないでしょうか? 環境はWindowsXP,VC++6です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- tsukasa-12r
- ベストアンサー率65% (358/549)
お礼
ありがとうございます。 ファイルポインタに配列使えることを知らなかったです。まだまだ勉強不足でした。