文件路径写法

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

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

#include<stdio.h>
int main()
{
    FILE*fp = fopen("文件路径", "r");   //这里第一个参数就是文件路径

    if (fp == NULL)
    {
        printf("打开失败");
        getchar();
        return 0;
    }
    else 
    {
        printf("打开成功");
    }


    getchar();
    fclose(fp);//关闭文件
    return 0;
}

绝对路径

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

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


文件属性

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

绝对路径

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


测试代码

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

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

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

FILE*fp = fopen("D:/07_PROJECT/代码测试与总结/错误测试/123.txt", "r");
//两种写法没有任何区别

*/

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

相对路径

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

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

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


    打开项目所在文件夹

项目文件夹下的文件

像上面这种位置的文件相对路径就直接写文件名就行
123.txt或者./123.txt
其中的./表示当前文件夹的意思

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

    上级目录

    上级目录文件

    对于上级目录的文件,路径写法是../123.txt
    其中的../表示上级文件夹

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

    子文件夹

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

tips

  • 可以自由结合上面的几种方式,比如上级文件夹就是../,子文件夹就是/或者\\来自由搭配.只要路径正确就能够顺利找到文件位置
  • 运行项目的时候 当前路径是项目文件夹,如果是直接点击exe文件,那么用exe所在文件夹作为当前目录.

两种方式的对比

  • 绝对路径

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

  • 相对路径

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容