C语言文件的相对和绝对路径写法,文件路径写法

在写代码的时候难免会用到一些外部文件,比如读档存档,比如图片音乐的加载,那么这些路径应该如何去写,下面简单介绍一下.

这个代码用来测试文件是否打开成功,如果路径不正确就会显示打开失败.

#include

int main()

{

FILE*fp = fopen("文件路径", "r"); //这里第一个参数就是文件路径

if (fp == NULL)

{

printf("打开失败");

getchar();

return 0;

}

else

{

printf("打开成功");

}

getchar();

fclose(fp);//关闭文件

return 0;

}

绝对路径

所谓的绝对路径就是从盘符开始的路径,选中一个文件右键属性,就是他的绝对路径

比如选中一个文件右键 找到属性

a8dbe5fe8948

文件属性

然后 就可以直接看到他的绝对路径

a8dbe5fe8948

绝对路径

这里是D盘中文件夹的一个文件,现在在代码中做个测试

a8dbe5fe8948

测试代码

只有文件路径正确才可以打开成功,错误就会显示打开失败(可以自己试试)

/*

对于在上面的代码中,有同学应该已经注意到了,截图显示的的用 \ 这个分隔文件夹,但是到了代码中就使用了 \\ ,原因是C语言字符串中的\ 要用'\\'这个转义字符表示.

其实文件夹中的路径用/隔开也行,上面的代码可以改成

FILE*fp = fopen("D:/07_PROJECT/代码测试与总结/错误测试/123.txt", "r");

//两种写法没有任何区别

*/

tips: 在C语言代码中,路径隔开记得使用\ 或者/

相对路径

相对路径的理解,可以认为是程序和文件的相对位置,比如说程序和文件在同文件夹中,或者文件在程序的上级路径中,下面从最简单的开始练习下写法.

运行项目的时候,这个相对路径就是文件和项目代码相对的路径

同级目录 就是文件在项目文件夹下

a8dbe5fe8948

打开项目所在文件夹

a8dbe5fe8948

项目文件夹下的文件

像上面这种位置的文件相对路径就直接写文件名就行

123.txt或者./123.txt

其中的./表示当前文件夹的意思

上级目录 指的是当前目录的上级文件夹

a8dbe5fe8948

上级目录

a8dbe5fe8948

上级目录文件

对于上级目录的文件,路径写法是../123.txt

其中的../表示上级文件夹

子文件夹

如果文件在当前目录的文件夹中比如下图

a8dbe5fe8948

子文件夹

123.txt在当前目录的Debug文件夹当中,前面用/或者\\表示文件夹下的内容就行,路径写法是Debug/123.txt或者./Debug/123.txt

tips

可以自由结合上面的几种方式,比如上级文件夹就是../,子文件夹就是/或者\\来自由搭配.只要路径正确就能够顺利找到文件位置

运行项目的时候 当前路径是项目文件夹,如果是直接点击exe文件,那么用exe所在文件夹作为当前目录.

两种方式的对比

绝对路径

绝对路径比较好写,但是路径必须一致才可以保证运行,因为你的程序一般是发给其他人用的,保存的位置未必和写的绝对路径一致(包括盘符),而这一点在实际上很难做到,所以一般不用绝对路径

相对路径

需要一段时间掌握,写完之后需要一点练习,是很常用的路径写法.只要保证放的位置相对一致就行了,比如直接放到一个文件夹里面等等.

有兴趣一起学习C/C++的小伙伴们记得加群: 871318929,会有许多的资源可以供大家学习分享,欢迎大家前来一起学习进步

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值