C++ 路徑中./、../、/代表的含義
“./”:代表目前所在的目錄。
” . ./”代表上一層目錄。
“/”:代表根目錄。
舉個栗子:
在讀取文件時,路徑的寫法有如下方式
1、文件在當前目錄(以圖像文件為例,當前項目文件為中心)
“./1.jpg” 或 “1.jpg”
2、文件在上層目錄
(1)在上層目錄下
“../1.jpg”
(2)在上層目錄下的一個Image文件夾下
“../Image/1.jpg”
(3)在上上層目錄下
“../../1.jpg”
3、文件在下一層目錄(Image1文件夾)
“./Image1/1.jpg”
4、根目錄表示法,任何頁面訪問Image下的Image.jpg圖片
“C:/Image/1.jpg”
代碼示例:
/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 8 路徑符號的剖析 *Author: Young Fan *Date: 2018.4.30 *OpenCV version: 3.4.1 *IDE: Visual Studio 2017 *Description: “./”、“ ../”、“/” */ #include<opencv2/opencv.hpp> using namespace cv; int main() { Mat Image = imread("./1.jpg");//文件在當前目錄 imshow("Test", Image); Mat Image1 = imread("../1.jpg");//文件在上一層目錄下 imshow("Test1", Image1); Mat Image2 = imread("./Image1/1.jpg");//文件在下一層目錄(Image1文件夾) imshow("Test2", Image2); Mat Image3 = imread("../../1.jpg"); //文件在上上層目錄下 imshow("Test3", Image3); waitKey(); return 0; }
補充
正斜杠,又稱左斜杠,符號是”/”;反斜杠,也稱右斜杠,符號是”\”。文件路徑的表示可以分為絕對路徑和相對路徑:
絕對路徑表示相對容易,例如
pDummyFile =fopen(“D:\\vctest\\glTexture\\texture\\dummy.bmp”, “rb”);給出瞭從盤符開始的全部路徑,這裡需要註意的是“\”要用雙斜線”\\”,vc工程默認訪問的目錄是工程目錄,相對路徑有以下多種形式,如:pDummyFile = fopen(“dummy.bmp”, “rb”); bmp文件就在vc工程目錄下,和dsw文件同屬一個目錄。
pDummyFile = fopen(“..\\texture\\dummy.bmp”, “rb”); 表示bmp文件在工程目錄的同級目錄texture中,因此路徑是先退出工程目錄再進入texture目錄訪問到bmp文件。“..”表示退到當前目錄的上一級目錄(父目錄)
pDummyFile =fopen(“.\\texture\\dummy.bmp”, “rb”); 表示bmp文件就在工程目錄的子目錄texture中,“.”表示當前默認目錄,即vc工程目錄,然後在進入其子目錄texture訪問到文件
註意,對相對路徑而言,路徑表示中的“\”也要用雙斜線”\\”,
c++中\\是一種轉義字符,他表示一個\,就像\n表示回車一樣。
所以C++中的路徑名:D:\matcom45\doc\users\_themes\m.dat
應為:
CString filename=_T(“D:\\matcom45\\doc\\users\\_themes\\m.dat”);或CStringfilename=_T(“D:/matcom45/doc/users/_themes/m.dat”);
到此這篇關於C++ 路徑中./、../、/代表的含義的文章就介紹到這瞭,更多相關C++ 路徑中./、../、/含義內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- OpenCV基礎操作指南之圖片的讀取與寫出
- Python詳細講解圖像處理的而兩種庫OpenCV和Pillow
- Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的區別
- OpenCV-Python實現人臉美白算法的實例
- 快速解決cv2.imread()讀取圖像為BGR的問題