关于文件路径的斜杠和反斜杠问题

C文件路径使用双反斜杠[\\]

因为 \ 在 C/C++/C# 中是转义前导字符,例如 \n 代表换行。

如果路径中刚好有类似转义字符开头的,那么就会引起问题,所以路径中的 \ 必须用 \ 的形式。

Windows的路径中表示文件层级用反斜杠[\]

Windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数,比如:

cd %SystemDrive%dir /s /b shell32.dll

既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。

UNIX系统用斜杠[/]

在 UNIX 环境中,我们用减号(“-”)和双减号(“–”)表示命令行参数。

用斜杠表示命令行参数是兼容性原因。这个问题最初起源自 IBM。IBM 在最初加入 DOS 开发时贡献了大批工具,它们都是用斜杠处理命令行参数的。而这个传统源自于 DEC/IBM,比如当年的 VMS 就是用斜杠处理命令行参数,它的目录分隔符是美元符(“$”)。顺便说一句,这个传统也被部分地继承进了 DOS 和 Windows 体系,日文版的 Windows 就把反斜杠在屏幕上显示为“¥”,虽然实际上还是反斜杠。

如今的 Windows 内核在处理路径时确实可以同时支持斜杠和反斜杠。很多时候我们看到用斜杠时出错,是因为应用程序层面的原因。比如 cmd.exe 就不支持用斜杠表示路径,而PowerShell.exe 支持,也正因为这个原因,PowerShell 开始转而使用减号作为命令行参数的起始符。

关于文件路径的斜杠和反斜杠问题相关推荐

  1. linux unix mac windows,文件路径-windows上的反斜杠和Mac OS/Linux/Unix上的正斜杠,Windows,倒,以及,macOSLinuxUNIX...

    文件路径 - Windows 上的倒斜杠以及 macOS / Linux / UNIX 上的正斜杠 1. 正斜杠 (斜杠 / ) 和反斜杠 (倒斜杠 \ ) Windows - 正斜杠,左斜杠,斜杠符 ...

  2. 文件分隔符 ‘/‘(斜杠) 和 ‘\‘(反斜杠) 的使用

    前言 在学习时,总会用到 Windows 和 Linux ,输入路径时,文件路径分隔符有时用 '\'(斜杠),有时用 '/'(反斜杠),属实不好区分,故作此篇. 在 Windows 操作系统中 在文件 ...

  3. Qt处理路径里的斜杠和反斜杠

    最早的unix操作系统,文件路径都是用斜杠,也就是"/",linux参考unix开发,路径也是用斜杠分割.后来windows源于DOS,DOS里斜杠已经用于命令行参数标识了,于是用 ...

  4. java中的斜杠和反斜杠,老生常谈java路径中的反斜杠和斜杠的区别

    JAVA中的斜杠 有正斜杠与反斜杠之分,正斜杠,一般就叫做斜杠,符号为"/":反斜杠的符号为"\". 斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符 ...

  5. java路径中的斜杠和反斜杠_路径中 斜杠/和反斜杠\ 的区别

    最近在项目中遇到了一个小问题,纠结了半天. 路径中使用斜杠/和反斜杠\的区别到底是什么.查阅了一些资料后可知. Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有 ...

  6. 文件路径 正斜杠和反斜杠

    文件路径 正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/":反斜杠,也称右斜杠,符号是"\".文件路径的表示可以分为绝对路径和相对路径: 1.绝对路径表示相对容 ...

  7. 文件路径:斜杠和反斜杠的区别

    以前在写到读取文件的代码时,经常要用到文件的路径,而每次让我有点搞的糊涂的就是斜杠的用法,又是正斜杠又是反斜杠的,还有双斜杠的,经常要经过几次调试才能正确的把文件的路径弄对,究其原因,主要是每次都没有 ...

  8. [Asp.net]c#中的斜杠和反斜杠

    引言 在外地出差,给客户部署项目,三家做的项目要在一起集成,这就造成数据格式不同,路径中的斜杠和反斜杠造成了很大的问题. 查了一下这方面的资料,这里做一些记录,算是一个小结吧. 正斜杠(/)与反斜杠( ...

  9. 在linux中完整路径中的目录间分隔符是,路径分隔符(斜杠/与反斜杠\的问题)

    先总结:斜杠/常用:反斜杠\只有在windows系统中使用 路径中使用斜杠/和反斜杠\的区别到底是什么? 事实上是只有windows系统中用\,其他的项目中,linux中都使用/,这是历史原因,不解释 ...

最新文章

  1. 201521123013 《Java程序设计》第13周学习总结
  2. /etc/issue、shutdown命令详解
  3. cocos2dx java 调用lua_Cocos2d-x Lua实现从Android回调到Lua的方法
  4. linux 端口qos,linux的qos机制 - cgroup篇 (2)
  5. 理解大型分布式网站你必须知道这些概念
  6. 轻量服务器怎么换系统,轻量服务器更换系统
  7. java数组子类型_在vhdl中获取数组子类型的范围属性
  8. 干货 | 豆子科技首席架构师钟声:Java的纯真年代
  9. vue项目使用阿里云播放器 Prismplayer 组件,可记录播放时间
  10. al换脸一键生成_使用al生成详细的课程计划
  11. 看大神如何玩转微信小程序日历插件?
  12. 中兴新支点操作系统_中兴新支点操作系统v3.2.2 最新版
  13. 光速不变原理引发的诡异现象与时空分量的解释
  14. Android Bluetooth架构
  15. 【思维导图】redis详解
  16. html标签的message,Message 消息提示
  17. vi 撤销上一步操作
  18. react指定ref的三种方式
  19. 计算机组成原理 第三章存储系统 知识点
  20. 据采集的三种方式-如何获取数据

热门文章

  1. HDU-1754 线段树的节点更新,储存区间的最大值
  2. 函数中结构体指针作为形参修改指针地址
  3. 《Deep Learning》笔记
  4. 剑指offer (03):数组中重复的数字 (C++ Python 实现)
  5. 《手把手教你》系列基础篇之1-python+ selenium自动化测试-环境搭建(详细)
  6. odis工程师一键导入导出匹配数据信息功能_机械重复做了这么久,才发现竟然可以批量用户导入导出...
  7. 3.15 Ext JS 之 Tooltip 的基本使用
  8. Java 性能优化系列之3.2[JVM调优]
  9. Alibaba Druid 源码阅读(三) 数据库连接池初始化探索
  10. android camera 降低帧率_深入理解Camera 硬件抽象层