C++ 路径中./、../、/代表的含义

 更新时间:2021年12月03日 15:41:23   作者:Young__Fan  
这篇文章主要介绍了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++ 路径中./、../、/含义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现单例模式的自动释放

    C++实现单例模式的自动释放

    这篇文章主要为大家详细介绍了C++实现单例模式的自动释放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • c++11 多线程编程——如何实现线程安全队列

    c++11 多线程编程——如何实现线程安全队列

    这篇文章主要介绍了c++ 如何实现线程安全队列,帮助大家更好的理解和学习c++的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • C实现不定长数组的示例

    C实现不定长数组的示例

    今天小编就为大家分享一篇C实现不定长数组的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 浅谈分词器Tokenizer

    浅谈分词器Tokenizer

    分词器的工作就是分解文本流成词(tokens).在这个文本中,每一个token都是这些字符的一个子序列。一个分析器(analyzer)必须知道它所配置的字段,但是tokenizer不需要,分词器(tokenizer)从一个字符流(reader)读取数据,生成一个Token对象(TokenStream)的序列
    2021-06-06
  • C语言判断回文数的小例子

    C语言判断回文数的小例子

    这篇文章主要介绍了C语言判断回文数的小例子,有需要的朋友可以参考一下
    2014-01-01
  • C语言的指针类型详细解析

    C语言的指针类型详细解析

    C语言的指针类型包括两方面的信息:一是地址,存放在指针变量中;二是类型信息,关乎于读写的长度,没有存储在指针变量中,位于用该指针读写时的mov指令中,不同的读写长度对应的mov指令不同
    2013-09-09
  • C语言return, exit, abort的区别

    C语言return, exit, abort的区别

    这篇文章主要介绍了C语言return, exit, abort的区别,一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数,和return相比,exit并不会销毁局部对象,下面一起进入文章了解更详细内容吧,需要的朋友也可以参考一下
    2022-01-01
  • VC中实现GB2312、BIG5、Unicode编码转换的方法

    VC中实现GB2312、BIG5、Unicode编码转换的方法

    这篇文章主要介绍了VC中实现GB2312、BIG5、Unicode编码转换的方法,该功能非常实用,需要的朋友可以参考下
    2014-07-07
  • 浅析C语言中strtol()函数与strtoul()函数的用法

    浅析C语言中strtol()函数与strtoul()函数的用法

    这篇文章主要介绍了浅析C语言中strtol()函数与strtoul()函数的用法,注意其将字符串转换成long型的区别,需要的朋友可以参考下
    2015-08-08
  • Qt中QDateTimeEdit的具体使用

    Qt中QDateTimeEdit的具体使用

    本文主要介绍了Qt中QDateTimeEdit的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论