windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。
在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写
"C:\Windows\System32\"
会出错。而字符'\\'才是表示\。
于是在写路径的时候,就必须是
"C:\\Windows\\System32\\"
即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。
>
fp=fopen(filename,"wb");
里的filename就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename
最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。
scanf也限制一下长度。
scanf("%19s",filename);
scanf("%19s",path);
参考如下:
#include <stdioh>
#include <stdlibh>
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;
以上就是关于c语言文件路径的格式全部的内容,包括:c语言文件路径的格式、c语言如何获得文件当前路径、c语言保存文件到指定的路径和文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)