1. 程式人生 > >C++中當前路徑、相對路徑、絕對路徑的表示方法及如何建立一個檔案

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<io.h>
#include<direct.h> 
if(_access("test", 0) != -1)  
        {  
            cout << "資料夾已存在" <<endl;  
        }  
        else  
        {  
            cout << "資料夾不存在,建立資料夾" << endl;  
            _mkdir("test");  
        }  
        ofstream ouf("./test/day.txt"
); //ofstream ouf(".\\test\\day.txt"); ouf<<s5.c_str(); ouf.close();

ofstream ouf(“./test/day.txt”);和ofstream ouf(“.\test\day.txt”)產生的效果是一樣的:都是在當前路徑下建立了一個“test”資料夾,day.txt寫在了test資料夾下。