文件路径写法

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

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

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

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


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

绝对路径

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

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


文件路径写法_第1张图片
文件属性

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

文件路径写法_第2张图片
绝对路径

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


文件路径写法_第3张图片
测试代码

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

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

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

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

*/

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

相对路径

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

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

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


    文件路径写法_第4张图片
    打开项目所在文件夹

文件路径写法_第5张图片
项目文件夹下的文件

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

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

    文件路径写法_第6张图片
    上级目录

    文件路径写法_第7张图片
    上级目录文件

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

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

    文件路径写法_第8张图片
    子文件夹

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

tips

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

两种方式的对比

  • 绝对路径

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

  • 相对路径

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

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

你可能感兴趣的:(文件路径写法)