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!

推薦閱讀: