斜杠与反斜杠的区别和用法

路径中使用斜杠/和反斜杠\的区别到底是什么。

Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,

所以目前所有的网络地址都采用 斜杆/ 作为分隔符。

    Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。

所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。

随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
    知道这个背景后,可以总结一下结论:
(1)浏览器地址栏网址使用 斜杆/ ;
(2)windows文件浏览器上使用 反斜杠\ ;
(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;
(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;

(5)转义字符进行转义时,使用反斜杠来进行表示的。

如果代表的是网络文件路径,则必须使用 斜杆/ ;
 
    斜杆/ 和 反斜杠\ 的区别基本上就是这些了,下面再讨论一下相对路径和绝对路径。
./SRC/  这样写表示,当前目录中的SRC文件夹;
 ../SRC/  这样写表示,当前目录的上一层目录中SRC文件夹;
/SRC/   这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)

在Windows系统中,正斜杠/表示除法,用来进行整除运算;反斜杠\用来表示目录;
在Unix系统中,/表示目录;\表示跳脱字符将特殊字符变成一般字符(如enter,$,空格等);


    反斜杠\,用的较多的是作为强制换行符,衔接上下两行的意思。有时候一个语句太长,一行写不下,或者显得不美观,为了便于阅读,可以将较长的语句拆分成两行甚至多行,除了最后一行之外,在每一个分行后面加一个反斜杠“\”,这样编译的时候,系统会自动将这几个分行读成一个语句处理。比如:
1) 用在宏定义中:
#define CV_ARE_SIZES_EQ(mat1, mat2) \
   ((mat1)->rows == (mat2)->rows&& (mat1)->cols ==(mat2)->cols)
2) 用在printf中,有时候printf中语句太长,需要切分,则需用到反斜杠;
3) 用“//”只能注释当前行的语句,想要将下一行一起注释掉,则可以在该行最后加上反斜杠。
另外,反斜杠除了强制换行的作用之外,还有转义符的意思。如:“\n”表示换行符,"\t""\b"等,此时反斜杠表示转义,执行反斜杠后面的符号表示的意思。
但若要取反斜杠的本意,则需要在反斜杠之前再加一个反斜杠才能正确表示。比如我要在程序中读取F:\OpenCV2.0\vs2008\videos\videos1.avi,,我不能直接将这样表示,而应该在每一个反斜杠前面再加一个反斜杠,表示为:F:\\OpenCV2.0\\vs2008\\videos\\videos1.avi ,这样才能正确读取你要的文件。
 

你可能感兴趣的:(笔记,windows)