1. 程式人生 > >C++檔案操作——相對路徑與絕對路徑

C++檔案操作——相對路徑與絕對路徑

例如在E盤工程目錄Bin下有一個Image資料夾,在資料夾下放了一張Image.jpg圖片,那麼:

相對路徑:就是從當前路徑開始的路徑,例如,當前路徑是“E:\Bin”,那麼指定前面範例的檔案,可以直接寫“Image\Image.jpg”。

絕對路徑:就是從碟符開始的路徑,例如:“E:\Bin\Image\Image.jpg”。

從功能上講:

訪問每臺電腦上路徑都固定不變的檔案,需要用絕對路徑,例如訪問 c:\boot.ini。

如果程式所在路徑不固定,訪問的檔案和程式放在一起,就要用相對路徑。例如和程式放在一起的圖片檔案。

下面從圖片載入的角度來說明程式設計上的區別:

1.使用相對路徑,使用過程中

/*
./表示當前目錄下
../表示當前目錄的上一級目錄
"Image\\Image.jpg"也表示當前Image目錄下的Image.jpg
*/
CPaintDC dc(this); // device context for painting
CRect rc;  
GetWindowRect(&rc);  
CImage mImage;  
if(mImage.Load(_T("./Image/Image.jpg")) == S_OK)  
{  
	//這裡讓圖片繪製區域和視窗大小一致  
	mImage.Draw(GetDC()->GetSafeHdc(), CRect(0,0,rc.Width(),rc.Height()));  
}  
2.使用絕對路徑
CPaintDC dc(this); // device context for painting
CRect rc;  
GetWindowRect(&rc);  
CImage mImage;  
if(mImage.Load(_T("E:/Bin/Image/Image.jpg")) == S_OK)  //"E:\\Bin\\Image\\Image.jpg"
{  
	//這裡讓圖片繪製區域和視窗大小一致  
	mImage.Draw(GetDC()->GetSafeHdc(), CRect(0,0,rc.Width(),rc.Height()));  
}