努力打造地方资讯门户第一网!

帮助中心 广告联系

中国建造师挂靠网-二级建造师报考条件、挂靠价格、挂靠费用、挂靠风险、建造师信息网-中国建造师网

热门关键词: 

  ,声明字符串不需要转义,因此这里\ 就是一个普通反斜杠字符(

  而在Windows中,正反斜杠二者皆可表示路径,通常看到是路径分隔采用反斜 杠\,比如C:\Windows\System。

  有时我们会看到这样的路径写法,C:\\Windows\\System,也就是用两个反斜杠来分隔路径,这种写法在网络应用或编程中经 常看到,事实上,上面这个路径可以用C:/Windows/System来代替,不会出错。但是如果写成了C:\Windows\System, 那就可能会出现各种奇怪的错误了。

  学过编程的人都应该知道,在C里面,输出字符串时,如果想输出一个换行,那就要加上\n这个标志,类似的,输出一个TAB,就加上 \t,也就是说,反斜杠(\)这个符号会把跟在它后面的字符结合起来转义成其它字符。根据这个原理,如果想输出双引号(),就需要输入 \,这样才会将包含了双引号的字符串正确的写入内存中。那么如果想输入一个反斜杠呢?很简单,只要敲\\就可以了。

  看到这里或许有些人已经看出眉目了,如果C:\Windows\System这个路径字符串交给C编译器编译,实际写入内存的字符串并没 有包含反斜杠\,甚至紧跟在反斜杠后面的字母也一起被转义成了其它的字符,再次调用的话势必会出问题。

  字符串解析不仅仅局限于C编译器,Java编译器、一些配置文件的解析、Web服务器等等,都会遇到对字符串进行解析的这个问题,由于传统的 Windows采用的是单个斜杠的路径分隔形式,导致在对文件路径进行解析的时候可能发生不必要的错误,所以就出现了用双反斜杠\\分隔路径的形式。 不管解析引擎是否将反斜杠解析成转义字符,最终在内存中得到的都是\,结果也就不会出问题了。

推荐阅读

免责声明

本网转载作品的目的在于传递更多信息,涉及作品内容、

版权等问题,请联系我们进行修改或删除!