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

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

#include

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,会有许多的资源可以供大家学习分享,欢迎大家前来一起学习进步

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

  1. R语言使用fs包的dir_create函数在指定路径下创建新的文件夹、使用file_create函数在指定文件夹下创建文件

    R语言使用fs包的dir_create函数在指定路径下创建新的文件夹.使用file_create函数在指定文件夹下创建文件 目录

  2. R语言 Rstudio对本地文件数据文件的读写和查看设置当前工作路径

    第一次写博客 各位老铁多多包涵 数据文件的读写 首先我们先说读的方法,在Rstudio提供一种方法==read.table()==函数来读取数据.这种方法对数据来源可以是一个Windows记事本或任何 ...

  3. c语言中文件相对路径,C++相对路径和绝对路径(示例代码)

    学习备忘 转自:http://www.cnblogs.com/vranger/p/3820783.html 电脑硬盘E盘下,建文件夹"test","test"下 ...

  4. 客户端安装服务器的路径查找文件,柴少鹏的官方网站-puppet系列(一)之puppet的部署、配置文件以及命令详解...

    一.puppet的介绍(文字解释部分参考了权威指南) 作为自动化运维管理老大哥级别的软件,这个词大家都很熟悉了,我也就不阐述什么发展史啊,跟其他工具的对比了.不过有一点是要注意的,puppet分为社区 ...

  5. access导入链接快还是导入表快_Go 语言设计哲学之十三:理解包导入路径的含义...

    Go 语言是使用包(package)作为基本单元来组织源码的, Go 程序就是这些包链接起来而构建的.与C 语言的头文件包含机制相比则是"先进"了许多. 即便是每次编译都是从头开始 ...

  6. python语言源程序文件类型_浅谈Python的文件类型

    Python的文件类型主要分为3种:源代码(source file).字节码(byte-code file).优化的字节码(optimized file).这些代码都可以直接运行,不需要编译或者连接. ...

  7. python删除指定路径文件_基于python实现删除指定文件类型

    Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语 ...

  8. 【C语言】万字讲解 从零到精通 (文件操作与文件函数)

    C语言运行时会把数据放在内存中,而内存中的数据是临时的,随着程序的退出,系统内存中的数据也会随着给回收与销毁. 那如何把数据保存起来呢?一般数据保存的方法有,把数据存放在磁盘文件.存放到数据库等方式. ...

  9. c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...

    处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...

  10. c语言record的作用,C语言基础 record 2-指针,结构体,链表,文件的输入输出

    指针: 1.指针的概念: 内存区的每一个字节有一个编号,这就是 '地址',由于通过地址能找到所需的变量单元,而地址指向该变量单元,所以将地址形象化称为 '指针'.C/C++中是可多继承的指针,而Jav ...

最新文章

  1. 在 Linux 中把一个网页转换成 PDF的技巧介绍
  2. Activity全屏问题
  3. WinError 145] 目录不是空的
  4. android app电量分析,如何计算android app的耗电量?
  5. 串口同步通信和串口异步通信
  6. 财务管理的革新带动财务软件的变革
  7. iOS相册实现与AssetsLibrary框架使用
  8. jQuery事件3——trigger触发事件
  9. bzoj 3238: [Ahoi2013]差异
  10. 刘强东成京东数科二股东;高通再诉苹果;金立否认裁定破产 | 极客头条
  11. 浅谈管理系统操作日志设计(附操作日志类)
  12. mysql not null 索引_MySQL中 IS NULL、IS NOT NULL、!= 能用上索引吗?
  13. oracle表还原truncate,Oracle数据库执行truncate table操作后如何逆向恢复之前的状态...
  14. 图书管理系统(前台(vue))
  15. Hello软件项目相关功能测试点
  16. 获取学信网学历电子版流程
  17. prophet Seasonality, Holiday Effects, And Regressors季节性,假日效应和回归
  18. python的datetime.date日期计算——计算当月第一天、当月最后一天、前月第一天、前月最后一天、次月第一天、次月最后一天、去年的当天日期等
  19. rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
  20. Hp服务器系统盘被热拔插会怎么样,被骗十几年 原来这些设备不能热插拔!

热门文章

  1. GNU Operating System
  2. 台式计算机装机,DIY台式电脑装机教程之新手装机图解!手把手教你组装电脑
  3. 解决ubuntu 18.04平台上thinkpad小红点TrackPoint左键随机失效的问题(by quqi99)
  4. Arcgis应用(八)arcgis点要素转为面要素(点图形转为面)
  5. 如何选购计算机硬盘,如何挑选固态硬盘,教您电脑固态硬盘如何挑选
  6. 无法识别 移动固态硬盘_固态硬盘不识别怎么办 固态硬盘不认盘解决方法介绍...
  7. 中文句法分析_句法分析StanfordParser+依存句法分析pyhanlp
  8. windows10磁盘100%解决方法
  9. torchdiffeq中odeint函数的输入输出参数分析
  10. BaseRecyclerViewAdapterHelper开源项目之BaseSectionQuickAdapter 实现Expandable And collapse效果的源码学习...