机械制图第六版无答案:怎样以循环的方式用fopen打开一系列文件

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 19:25:22
for(j=0;j<=5;j++){
if((fp1=fopen("d:\\menu\\menu(j).bmp","rb"))==NULL)
{ printf("不能打开文件menu(%d)\n",j);
exit(0);
}
这样写不行,似乎“”里的j不再是变量了。求助。
楼下的itoa函数具体该怎么用啊,好象用你的代码也不行呀,两个&符号,还有“”是干什么的啊,都编译错误了。。。

#include <stdio.h>

void
main(void)
{
FILE *fp[5];
char sBuffer[100];
/* buffer for store the directory of the file */
int i;
for(i=0;i<5;i++)
{
sprintf(sBuffer,"d:\\menu\\menu(%d).bmp",i);
fp[i] = fopen(sBuffer,"rb");
if(fp[i] == NULL)
printf("不能打开文件menu(%d)\n",i);
}
}

要用字符串连接,"d:\\menu\\menu(j).bmp"不行,必须用"d:\\menu\\menu("&itoa(j)&").bmp"这样,其中itoa(int)是整数转字符串的函数

支持 mickaelp
还有这里不能用exit函数如果遇到第3个打不开的话,那么程序将推出,而前面打开的两个文件没有关闭,所以不要用exit();