zoukankan      html  css  js  c++  java
  • 关于文件路径的反斜杠正斜杠和双斜杠问题

    标签: c 文件路径 绝对路径 相对路径 斜杠 it 分类: C 和OpenCV

    1

    C文件路径为什么要用双斜杠

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

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

    2 Windows的路径中表示文件层级为什么会用反斜杠「」,而UNIX系统都用斜杠「/」?

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

    cd %SystemDrive%

    dir /s /b shell32.dll

    既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。而在 UNIX 环境中,我们用减号(“-”)和双减号(“--”)表示命令行参数。

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

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

    记忆

    这里有一个巧记法:注意window这个单词的第一笔,也就是字母w的第一笔,是什么?没错,就是反斜杠,这样每次在想windows文件路径中用/还是的时候,首先要想到windows的第一笔是什么,答案自然就出来了。作为windows的对立面,linux或unix文件路径中用的自然就是/ 了。

    另外一些其他知识

    相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。使用相对路径可以为我们带来非常多的便利。下面举实例详解:

    例如在本地硬盘有如下两文件,它们要互做超链接

    G:siteindex.htm

    G:sitewebarticle1.htm

    index.htm要想链接到01.htm这个文件,正确的链接应该是:链接文字,这是标准的相对路径。

    反过来,01.htm要想链接到index.htm这个文件,在01.htm文件里面应该写上这句:返回首页。这里的../表示向上一级。

    至此,你已经了解相对路径的概念了,就是这样简单明了。如果你还是没有看明白,以前学过DOS吗?它的“CD文件夹名”和“CD..”命令用过吗?这是同理的。

    注意:相对路的文件夹符号是斜杠:/

    链接文字这样的链接,在href后面的第一个斜杠表示根目录,通常我们要特别慎用这种方式。

    绝对路径

    在www中(广域网),以http开头的链接都是绝对路径。

    物理路径?

    物理路径指的是某一台计算机本地的路径,以盘符开头,例如C:、D: emp等等。ASP的数据库连接中,只能连接物理路径,而不能连接相对路径,所以需要用server.mappath对象把相对路径转化成物理路径。

    是文件的路径,如c:windowssystem……

    /是用在dos命令中加参数,DIR——显示磁盘目录命令

    1.功能:显示磁盘目录的内容。

    2.类型:内部命令

    3.格式:DIR [盘符][路径][/P][/W]

    使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press

    any key to continue

    /W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。

    来源: 





  • 相关阅读:
    Bzoj_1562 [NOI2009]变换序列
    Bzoj_1443 [JSOI2009]游戏Game
    Bzoj_3572 [Hnoi2014]世界树
    【python】按顺序排列组合输出字符串
    【python】通过LibreOffice把html文件转换成docx文件
    【python】判断一个地址是ipv4还是ipv6
    【python】判断一个字符串是否是数字
    【python】ImportError: cannot import name 'QWebView'
    【python】ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'
    【GNS3】Error 9: Unknown boot failure
  • 原文地址:https://www.cnblogs.com/muxiaoye/p/3184c3836ebce48ebf64a30ed9a59c8b.html
Copyright © 2011-2022 走看看