C語言-獲取程序運行的當前目錄函數GetCurrentDirectory

DWORD GetCurrentDirectory(
DWORD nBufferLength, // size of directory buffer
LPTSTR lpBuffer // directory buffer
);
函數功能
獲取當前進程的當前目錄。
注意當前目錄這東西有點怪異,本來確實是可執行文件的所在目錄,但是當用文件對話框成功打開一個文件後,該目錄就被修改爲被打開的文件所在目錄。比如在程序中使用"123.txt"這樣的文件名,希望將它存儲在exe文件所在目錄中,但是當用戶用文件對話框打開一個文件"F:\456.txt"後,這個123.txt會被存儲到F盤下。(VC2005下的情況,其他VC版本待驗證)
參數說明
參數 類型及說明
nBufferLength 緩衝區的長度
lpBuffer 指定一個預定義字串,用於裝載當前目錄
返回值
      調用成功 返回裝載到lpBuffer的字節數。


調用函數的例子如下:

#001   //獲取或者改變當前目錄路徑。
#002  #003   void GetCurDir(void)
#004   {
#005         //
#006         TCHAR szBuf[MAX_PATH];
#007         ZeroMemory(szBuf,MAX_PATH);
#008         if (GetCurrentDirectory(MAX_PATH,szBuf) > 0)
#009         {
#010               //獲取進程目錄成功。
#011               OutputDebugString(szBuf);
#012         }
#013         else
#014         {
#015               //改變當前目錄位置。
#016               SetCurrentDirectory(_T("C:\\"));
#017         }
#018 
#019         OutputDebugString(_T("\r\n"));           
#020   }
#021
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章