连接int和FILE *(C / C ++)

时间:2012-08-14 23:16:01

标签: c file-descriptor

我想根据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这样的描述符对于每个打开的文件都是唯一的?例如,我想要实现的是:对于i = 6,FILE * fp6。

提前致谢。

1 个答案:

答案 0 :(得分: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有什么问题?