c程序打开指定目录中的指定文件
目录和文件名采用参数的方式引入
要求:输入指定文件名,打开文件:
思路:将文件的路径和文件名用数组获取保存,拼接得到最终的文件路径。
代码如下:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
FILE *fp; //定义文件指针
char filename[50];//定义一个文件名数组保存文件名
char path[]="E:\\test_c\\1\\";//标明文件所在的路径
char path1[]={0};//存储最终的文件读取路径
printf("请输入您要查看的文件的名字:\n");
scanf("%s",filename);
sprintf(path1,"%s%s",path,filename);//拼接path+filename,形成最终的文件路径
printf("文件路径为:%s",path1);
fp=fopen(path1,"r");//打开文件
if(fp==NULL)//判断打开的文件是否为空,空则报错
{
printf("can't open source file");
exit(0);
}
else
{
char ch=fgetc(fp);
while(ch!=EOF)//EOF和NULL都是在stdio.h中带的,直接用就行
{
putchar(ch);
ch=fgetc(fp);//fgetc读取一个字符并返回,同时将读指针向前移动一个字节
}
fclose(fp);//关闭文件,每次文件操作完后记得关闭,否则会在下一次文件操作时产生乱码等问题
}
return 0;
}
输入目录名和文件名:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
FILE *fp; //定义文件指针
char filename[50];//定义一个文件名数组保存文件名
char path[100];//标明文件所在的路径
char path1[]={0};//存储最终的文件读取路径
//增加的地方
printf("请输入路径名:\n");
scanf("%s",path);
printf("请输入您要查看的文件的名字:\n");
scanf("%s",filename);
sprintf(path1,"%s%s",path,filename);//拼接path+filename,形成最终的文件路径
printf("文件路径为:%s\n",path1);
fp=fopen(path1,"r");//打开文件
if(fp==NULL)//判断打开的文件是否为空,空则报错
{
printf("can't open source file");
exit(0);
}
else
{
printf("文件内容为:\n");
char ch=fgetc(fp);
while(ch!=EOF)//EOF和NULL都是在stdio.h中带的,直接用就行
{
putchar(ch);
ch=fgetc(fp);//fgetc读取一个字符并返回,同时将读指针向前移动一个字节
}
fclose(fp);//关闭文件,每次文件操作完后记得关闭,否则会在下一次文件操作时产生乱码等问题
}
return 0;
}
路径设置:
运行结果: