C语言把内存的文件保存到硬盘时如何把文件名由用户通过屏幕自己设置,并且保存到指定的路径
2013-11-23 21:32
656 查看
一般情况下要想把文件保存到硬盘的指定位置,常常用fopen(“C:\\Users\\han\\Desktop\\filename.txt”,”w”);其中han为电脑的用户名,而filename为你要写入的文件的名字。但在现实生活中,文件名往往由用户自己设置,这需要scanf(“%s”,filename);来设置文件名,而将用户设置的文件名成为要保存的文件的名字的话需要fopen(filename,”w”);如何将生成的文件保存到指定的位置,并且文件名字可以由用户自己设置呢??
首先我们可以定义一个字符数组char path[100]={“C:\\Users\\han\\Desktop\\filename”};并对其进行初始化,然后利用函数strcat(path,filename);用户设置的文件名字接在path的后面未使用的空间里,然后fopen(path,”w”);大功告成,这样便可以实现我们把生成的文件保存在制定的路径下,并且由用户设置文件名字。
当然我们也可是实现保存的路径由用户来设置,只需scanf(“%s”,path); 即可,下面的代码就不实现这个功能了。
代码如下:
int main()
{
int i=0;
char ch,filename[20];
char path[100] = {"C:\\Users\\han\\Desktop\\"};
FILE *fp;
printf("请输入文件的名字:(用字母或英文)\n");
scanf("%s",filename);
strcat(path,filename);
printf("%s\n",path);
fp=fopen(path,"w");
if(fp==NULL)
{
printf("读取文件失败!\n");
exit(0);
}
ch=getchar();//用来接收最后的一个回车
printf("请输入要保存到磁盘的内容:(以#结束)\n");
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);//将输出的字符显示在屏幕上
ch=getchar();//重新接收从键盘输入的字符
i++;
}
fclose(fp);//关闭文件
printf("\n");
printf("文件保存成功!!!\n");
return 0;
}
一般情况下要想把文件保存到硬盘的指定位置,常常用fopen(“C:\\Users\\han\\Desktop\\filename.txt”,”w”);其中han为电脑的用户名,而filename为你要写入的文件的名字。但在现实生活中,文件名往往由用户自己设置,这需要scanf(“%s”,filename);来设置文件名,而将用户设置的文件名成为要保存的文件的名字的话需要fopen(filename,”w”);如何将生成的文件保存到指定的位置,并且文件名字可以由用户自己设置呢??
首先我们可以定义一个字符数组char path[100]={“C:\\Users\\han\\Desktop\\filename”};并对其进行初始化,然后利用函数strcat(path,filename);用户设置的文件名字接在path的后面未使用的空间里,然后fopen(path,”w”);大功告成,这样便可以实现我们把生成的文件保存在制定的路径下,并且由用户设置文件名字。
当然我们也可是实现保存的路径由用户来设置,只需scanf(“%s”,path); 即可,下面的代码就不实现这个功能了。
代码如下:
int main()
{
int i=0;
char ch,filename[20];
char path[100] = {"C:\\Users\\han\\Desktop\\"};
FILE *fp;
printf("请输入文件的名字:(用字母或英文)\n");
scanf("%s",filename);
strcat(path,filename);
printf("%s\n",path);
fp=fopen(path,"w");
if(fp==NULL)
{
printf("读取文件失败!\n");
exit(0);
}
ch=getchar();//用来接收最后的一个回车
printf("请输入要保存到磁盘的内容:(以#结束)\n");
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);//将输出的字符显示在屏幕上
ch=getchar();//重新接收从键盘输入的字符
i++;
}
fclose(fp);//关闭文件
printf("\n");
printf("文件保存成功!!!\n");
return 0;
}
相关文章推荐
- 在VC中如何使用对话框让用户选择自己保存文件的路径
- 在VC中如何使用对话框让用户选择自己保存文件的路径
- Spring 中 AbstractExcelView 支持根据模板生成Excel文件. 通过设置 view 的 URL 属性指定模板的路径
- C#如何生成一个XML文件,并保存在硬盘的指定目录下
- [html file]标签设置用户不能自己手动输入文件路径
- 查找指定目录下的.exe文件 并且将.exe文件按全路径保存
- QT指定用户保存文件路径QDialog::getExistingDirectory指定无意义节点如我的电脑、网上邻居等崩溃解决方案
- 修改JFileChooser对话框风格,设置打开对话框的默认文件名,获取改变路径之后的文件保存路径
- windows8下如何设置不保存本地文件浏览记录(通过注册表实现)
- 如何解决通过Eclipse建立AVD时保存路径和我通过设置环境变量ANDROID_SDK_HOME的路径不一致的问题?
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- Linux下如何设置权限让用户只删除自己的文件(粘滞位)
- 操作系统是如何通过相应文件名和路径去找到该文件的物理地址的?
- 如何通过表单上传图片数据,PHP后端获取并且保存文件数据
- 输入文件名及路径创建该文件,并把从键盘输入的内容保存到该文件,最后将该文件的路径、该文件名及文件中的内容输出到屏幕。
- 2006.9.9 实现定时拷贝屏幕,并保存为指定目录下形成文件DeleteObject(hBmp);//必须要添加,否则会占用内存,越来越小,一定要注意
- 如何使用js将canvas保存为图片文件,并且可以自定义文件名
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- 如何自定义安装office 2016(通过configuration.xml文件来指定安装内容和路径)
- 如何用c语言编写这样一函数:当按下屏幕a键时,把当前屏幕某一指定区域的内容保存到e盘下,格式为.bmp或.jpg。