- 716 名前:711 mailto:sage [2009/07/07(火) 01:22:12 ]
- #include <stdio.h>
#include <stdlib.h> #define N 10000 int main(){ int i; char fname[256]; FILE* in[N]; FILE* out; for(i = 0;i < N;i++){ sprintf(fname,"file/hoge%04u",i); out = fopen(fname,"w"); if(out == NULL){ perror("error[out]"); for(i--;i >= 0;i--){ fclose(in[i]); } exit(-1); } fclose(out); if((in[i] = fopen(fname,"r")) == NULL){ perror("error[in]"); for(i--;i >= 0;i--){ fclose(in[i]); } exit(-1); } } for(i = 0;i < N;i++){ fclose(in[i]); } return 0; } とりあえずちょっと変えてみた。 まあ、他の要因で落ちることを考慮すればin[i]==NULLになることもあるのだろうけれど、 ファイルの開きすぎで落ちるという観点で行けばoutのみじゃない?
|

|