C++ 路径中./、../、/代表的含义
作者:Young__Fan
"./":代表目前所在的目录。
" . ./"代表上一层目录。
"/":代表根目录。
举个栗子:
在读取文件时,路径的写法有如下方式
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++ 路径中./、../、/含义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!