c语言中,fopen(“文件名”,“打开方式”)中的文件名可以是变量吗?

2024-11-01 08:03:22
推荐回答(3个)
回答1:

文件名可以直接写进去,也可以放在变量里:
FILE *fp;
char namein[]="abc.txt";
fp=fopen(namein,"r");
或 fp=fopen("abc.txt","r");

文件名若带路径,单反斜杠要写成双反斜杠,例如:
char namein[]="C:\\path\\abc.txt";

长路径可用8字母格式缩写:
C:\Documents and Settings\Wang\...缩写:
char namein[]="C:\\Docume~1\\Wang\\abc.txt";

二进制文件打开方式用rb:
fp=fopen("abc.txt","rb"); 或:
fp=fopen(namein,"rb");

回答2:

必须可以

回答3:

可以定义一个字符型的数组
例如
char filename[]="123.txt";
FILE *fp;
if((fp=fopen(filename,"r"))==NULL)
{
printf("cannot open %s\n",filename);
exit(0);
}