0

for ループのインデックスに基づいて、ファイル記述子 fp に名前を付けたいと思います。例えば、

char* fbad[4]= "fbad";
char* mod[3]="mod";

for (int i=0; i<10; i++) {
  sprintf(fbad_file, "%s%s%d", fbad,mod,i);
  FILE *fp = fopen(fbad_file, "w");  ////????????????
  /*then do stuff here*/
  fclose(fp);
}

*fp を連結するにはどうすればよいでしょうか。ディスクリプタは開かれたすべてのファイルに対して一意です。たとえば、私が達成したいのは、i=6 の場合、FILE *fp6 です。

前もって感謝します。

4

1 に答える 1

0

For example, what I want to achieve is: for i=6, FILE *fp6.

配列を使用します。

FILE *fp[10];
for(int i=0; i<10; i++) {
    fp[i] = fopen(...);
}

ただし、for ループ内でファイル ポインターを閉じている場合、再利用の問題は何fpですか?

于 2012-08-14T23:20:02.277 に答える