里的filename就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename
最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。
scanf也限制一下长度。
scanf("%19s",filename)
scanf("%19s",path)
参考如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp
char ch, filename[20], path[20],buffer[40]
printf("Enter the file name: ")
scanf("%s",filename)
printf("Enter the path: ")
scanf("%s"竖腊,path)
sprintf(buffer, "%s\\%s"埋汪, path,filename)
printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n")
if((fp=fopen(buffer,"wt+"))==NULL)
{
printf("no such path, \nstrike any key exit!")
getch()
exit(1)
}
while ((ch=getchar())!=-1) ch=fputc(ch,fp)
fclose(fp)
printf("==================================\n\n")
printf("file path \余液滑"%s\" \nfile name \"%s\":\nand its content:\n",path,filename)
fp=fopen(buffer,"rt")
while ((ch=fgetc(fp))!=-1) putchar(ch)
fclose(fp)
return 0
可以通过 FileInfo 进行获取。
FileInfo fi = new FileInfo("C:\\text.txt")string strName = fi.Name// text.txt
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上岩返的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象粗派饥模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
设计目标:
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。
为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国羡袭际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂 *** 作系统的大型系统到特定应用的小型系统均适用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)