c++ 工作路径介绍及获取
1)絕對路徑:絕對路徑是指目錄下的絕對位置,直接到達目標位置,通常是從盤符開始的路徑。例如:C:\windows\system32\cmd.exe?
注意: 在不同系統的情況系 windows下是“\”,linux和unix下是“/” ,但在win中沒有本質區別。linux和unix系統中絕對路徑 以“/”為起始 例:/home/user1/abc.txt?
在windows中絕對路徑用的更多的是“\”(也可以用“/”),網絡路用的更多的是“/”。?
2)相對路徑:是從當前路徑開始的路徑,假如當前路徑為C:\windows要描述上述路徑,只需輸入system32\cmd.exe實際上,嚴格的相對路徑寫法應為.\system32\cmd.exe?
*在windows下,“./”或者“.\”當前路徑表示當前目錄,“../”或者“..\”(\有轉義的意思,需要有兩個\)表示當前路徑表示的上一級目錄?
在Linux下,“./” 表示當前路徑表示的當前目錄 “../”表示當前路徑表示的上一級目錄*?
例如:C:\windows\system32\cmd.exe?
假如當前路徑為c:\program files要調用上述命令,則需要輸入..\windows\system32\cmd.exe其中,..為父目錄。當前路徑如果為c:\program files\common files則需要輸入….\windows\system32\cmd.exe另外,還有一種不包含盤符的特殊絕對路徑,形如\windows\system32\cmd.exe無論當前路徑是什么,會自動地從當前盤的根目錄開始查找指定的程序。?
其中“..”為父目錄,”..\”表示回到上一級目錄,所以需要回到上一級目錄進行查找。
要想獲取當前目錄
#include ?<direct.h>
#include ?<stdio.h>
?? ?char ? buffer[MAX_PATH];?
?? ?getcwd(buffer, MAX_PATH);?
?? ?printf( "The ? current ? directory ? is: ? %s ", ? buffer);?
//打印出E:/C++/cppTest/cppPrimerTest
?
獲得exe當前目錄:
#include <windows.h>
?? ?char chpath[MAX_PATH];
?? ?GetModuleFileName(NULL,(LPSTR)chpath,sizeof(chpath));
?? ?std::cout<<chpath<<std::endl;
//打印出:E:/C++/cppTest/cppPrimerTest/Debug/cppTest.exe
總結
以上是生活随笔為你收集整理的c++ 工作路径介绍及获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何批量文件格式转化
- 下一篇: 卷积神经网络CNN——图像卷积与反卷积(