日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

C++中相对路径与绝对路径以及斜杠与反斜杠的区别 及 处理代码

發(fā)布時(shí)間:2023/12/20 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中相对路径与绝对路径以及斜杠与反斜杠的区别 及 处理代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載自:http://blog.csdn.net/sszgg2006/article/details/8447176

文件路徑正斜杠和反斜杠

正斜杠,又稱左斜杠,符號(hào)是"/";反斜杠,也稱右斜杠,符號(hào)是"\"。文件路徑的表示可以分為絕對(duì)路徑和相對(duì)路徑:

1、絕對(duì)路徑表示相對(duì)容易,例如

pDummyFile =fopen("D:\\vctest\\glTexture\\texture\\dummy.bmp", "rb");給出了從盤符開(kāi)始的全部路徑,這里需要注意的是“\”要用雙斜線"\\",vc工程默認(rèn)訪問(wèn)的目錄是工程目錄,相對(duì)路徑有以下多種形式,如:pDummyFile = fopen("dummy.bmp", "rb"); bmp文件就在vc工程目錄下,和dsw文件同屬一個(gè)目錄。
pDummyFile = fopen("..\\texture\\dummy.bmp", "rb");?表示bmp文件在工程目錄的同級(jí)目錄texture中,因此路徑是先退出工程目錄再進(jìn)入texture目錄訪問(wèn)到bmp文件。“..”表示退到當(dāng)前目錄的上一級(jí)目錄(父目錄)
????pDummyFile =fopen(".\\texture\\dummy.bmp", "rb");?表示bmp文件就在工程目錄的子目錄texture中,“.”表示當(dāng)前默認(rèn)目錄,即vc工程目錄,然后在進(jìn)入其子目錄texture訪問(wèn)到文件

注意,對(duì)相對(duì)路徑而言,路徑表示中的“\”也要用雙斜線"\\",

c++中\(zhòng)\是一種轉(zhuǎn)義字符,他表示一個(gè)\,就像\n表示回車一樣。

所以C++中的路徑名:

D:\matcom45\doc\users\_themes\m.dat

應(yīng)為:

CString filename=_T("D:\\matcom45\\doc\\users\\_themes\\m.dat");

CStringfilename=_T("D:/matcom45/doc/users/_themes/m.dat");
"./"加不加都一樣,就是指當(dāng)前目錄

"../"表示當(dāng)前目錄的上級(jí)目錄,即當(dāng)前的父目錄。

?

在Unix/Linux中,路徑的分隔采用正斜杠"/",比如"/home/hutaow";而在Windows中,路徑分隔采用反斜杠"\",比如"C:\Windows\System"。
  有時(shí)我們會(huì)看到這樣的路徑寫(xiě)法,"C:\\Windows\\System",也就是用兩個(gè)反斜杠來(lái)分隔路徑,這種寫(xiě)法在網(wǎng)絡(luò)應(yīng)用或編程中經(jīng)常看到,事實(shí)上,上面這個(gè)路徑可以用"C:/Windows/System"來(lái)代替,不會(huì)出錯(cuò)。但是如果寫(xiě)成了"C:\Windows\System",那就可能會(huì)出現(xiàn)各種奇怪的錯(cuò)誤了。至于上述問(wèn)題出現(xiàn)的原因,要從字符串解析這方面來(lái)分析。學(xué)過(guò)編程的人都應(yīng)該知道,在C里面,輸出字符串時(shí),如果想輸出一個(gè)換行,那就要加上'\n'這個(gè)標(biāo)志,類似的,輸出一個(gè)TAB,就加上'\t',也就是說(shuō),反斜杠("\")這個(gè)符號(hào)會(huì)把跟在它后面的字符結(jié)合起來(lái)轉(zhuǎn)義成其它字符。根據(jù)這個(gè)原理,如果想輸出雙引號(hào)('"'),就需要輸入'\"',這樣才會(huì)將包含了雙引號(hào)的字符串正確的寫(xiě)入內(nèi)存中。那么如果想輸入一個(gè)反斜杠呢?很簡(jiǎn)單,只要敲'\\'就可以了。
  看到這里或許有些人已經(jīng)看出眉目了,如果"C:\Windows\System"這個(gè)路徑字符串交給C編譯器編譯,實(shí)際寫(xiě)入內(nèi)存的字符串并沒(méi)有包含反斜杠"\",甚至緊跟在反斜杠后面的字母也一起被轉(zhuǎn)義成了其它的字符,再次調(diào)用的話勢(shì)必會(huì)出問(wèn)題。  

字符串解析不僅僅局限于C編譯器,Java編譯器、一些配置文件的解析、Web服務(wù)器等等,都會(huì)遇到對(duì)字符串進(jìn)行解析的這個(gè)問(wèn)題,由于傳統(tǒng)的Windows采用的是單個(gè)斜杠的路徑分隔形式,導(dǎo)致在對(duì)文件路徑進(jìn)行解析的時(shí)候可能發(fā)生不必要的錯(cuò)誤,所以就出現(xiàn)了用雙反斜杠"\\"分隔路徑的形式。不管解析引擎是否將反斜杠解析成轉(zhuǎn)義字符,最終在內(nèi)存中得到的都是"\",結(jié)果也就不會(huì)出問(wèn)題了。
  由此也可以看出Windows或者說(shuō)DOS在設(shè)計(jì)初期考慮不夠周全,為了和Unix一些特征區(qū)別開(kāi)來(lái),將Unix中的正斜杠"/"分隔路徑方式改變成了反斜杠"\"。這樣改變導(dǎo)致的一個(gè)問(wèn)題就是在早期DOS命令行中,正常的文件名是不能包含空格的,如果包含了空格,會(huì)導(dǎo)致輸入這樣的文件名時(shí),命令解析無(wú)法將其和參數(shù)區(qū)分開(kāi)。例如,想要進(jìn)入"hutaow yuan"這個(gè)目錄(在此先忽略8.3命名規(guī)則),直接輸入"cd hutaow yuan",命令行會(huì)將其解析為進(jìn)入"hutaow"目錄,而后面的"yuan"做參數(shù),這顯然不是所期望的。   

而在Unix中,文件名如果包含空格,可以直接在空格前加上反斜杠"\"進(jìn)行轉(zhuǎn)義,從而很好的和命令參數(shù)區(qū)別出來(lái)(參數(shù)之間一般使用空格分隔)。還是上面的例子,在Unix中,只要輸入"cd hutaow\ yuan"(在yuan前面的空格前加上"\"),命令行會(huì)正確的辨認(rèn)出"hutaow yuan"并進(jìn)入這個(gè)目錄。當(dāng)然,現(xiàn)在Windows的后續(xù)版本已經(jīng)使用其它方法(比如文件名用雙引號(hào)括住)解決了空格問(wèn)題。

-------------------------------------------------

C#:

using System; namespace HelloWorldApplication {class HelloWorld{static void Main(string[] args){/* 我的第一個(gè) C# 程序*/string AA = "aa\\bb\\cc\\";string kk = AA.Replace("\\","/");Console.WriteLine(AA);Console.WriteLine(kk);Console.ReadKey();}}輸出: aa\bb\cc\
aa/bb/cc/
==============================================

C++

#include <iostream> #include <string> using namespace std; int main() { string::size_type pos=0; string test="fsffsfd\\fdsfsfd\\fdsfsd"; cout<<test<<endl; while((pos=test.find('\\',pos))!=string::npos) { test.insert(pos,"\\");//插入 pos=pos+2; } cout<<test<<endl; return 0; }fsffsfd\fdsfsfd\fdsfsd
fsffsfd\\fdsfsfd\\fdsfsd



創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的C++中相对路径与绝对路径以及斜杠与反斜杠的区别 及 处理代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩免费av片 | 久久久久久久久久久影视 | 国产精品日本一区二区在线播放 | 九月婷婷 | 肥老熟妇伦子伦456视频 | 成人做爰视频www网站小优视频 | 午夜嘿嘿 | 日本黄色大片免费看 | 日日综合网 | 丁香婷婷成人 | 一区二区三区视频在线 | 精品一区二区在线看 | 激情欧美亚洲 | 三级特黄 | 摸丰满大乳奶水www免费 | 秋霞在线一区二区 | 中文字幕乱码在线 | av永久在线| 午夜婷婷网 | 高潮videossex高潮 | 国产免费又粗又猛又爽 | 日韩黄色网络 | 亚洲色精品三区二区一区 | 亚洲专区av | 日本中出视频 | 天堂在线视频 | 国产精品观看 | 久草成人在线视频 | 女女互磨互喷水高潮les呻吟 | 一级特黄a大片免费 | 欧美成人精品一区二区三区在线看 | 亚洲第二页 | 夜夜嗨老熟女av一区二区三区 | 成人免费视频播放 | 操小妹影院 | 咪咪色图| 小早川怜子一区二区三区 | 免费荫蒂添的好舒服视频 | 国产一区在线视频 | 欧洲色视频 | 免费在线观看你懂的 | www夜插内射视频网站 | 自拍偷拍麻豆 | 伊人三级 | 神马一区二区三区 | se婷婷| 美女a视频 | av一区二区三区在线 | 日本xxxx高清 | 亚洲黄色一区二区 | 日韩免费av片 | 狠狠操网址 | 精品久久久久久久久久久aⅴ | 精品中文字幕一区 | 欧美成人免费网站 | 国产在线精品成人欧美 | 极品少妇xxxx精品少妇偷拍 | 开心激情av | 国产麻豆电影在线观看 | 亚洲精品一区二三区不卡 | 人人干干 | 欧美性猛片aaaaaaa做受 | 老熟妇一区二区 | 久久久久久久久精 | 国产亚洲片 | 黄色无遮挡网站 | 91网站在线免费看 | 日韩欧美网站 | 国产极品视频在线观看 | 四季av日韩精品一区 | 成年人黄色 | 久久人人爽人人爽人人片av高清 | 精品蜜桃一区二区三区 | 蜜乳av中文字幕 | 久久美女免费视频 | 26uuu亚洲国产精品 | 性欧美又大又长又硬 | 日日爽日日操 | 亚洲精品视频在线看 | 色哟哟免费观看 | 懂色av成人一区二区三区 | 亚洲欧美激情在线 | 吃奶在线观看 | 福利视频精品 | 天天射天天| 日本韩国三级 | www成人免费视频 | 好看的毛片 | 可以在线观看的黄色 | 在线观看免费福利 | www.射| 91麻豆产精品久久久久久 | 久久久美女 | 国产成年人免费视频 | 久久人人添人人爽添人人片 | 国产精品九九九九九 | 在线视频中文字幕 | 日韩一区二区免费在线观看 | 91人妻一区二区三区蜜臀 |