GetCurrentDirectory

GetCurrentDirectory

是一個系統參數,在一個緩衝區中裝載當前目錄,Long,裝載到lpBuffer的位元組數。如nBufferLength的長度不夠,不足以容納目錄,則返回值是必要的緩衝區長度(要求至少這個長度),其中包括空中止字元。零表示失敗。會設定GetLastError。

基本介紹

  • 中文名:GetCurrentDirectory
  • 表達式:一個系統參數
  • 套用學科:計算機
  • 適用領域範圍:運存
  • 適用領域範圍:計算機編程
VB聲明,說明,返回值,參數表,VC聲明,函式功能,參數說明,返回值,Ada聲明,函式位置,

VB聲明

Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long,ByVal lpBuffer As String) As Long

說明

在一個緩衝區中裝載當前目錄

返回值

Long,裝載到lpBuffer的位元組數。如nBufferLength的長度不夠,不足以容納目錄,則返回值是必要的緩衝區長度(要求至少這個長度),其中包括空中止字元。零表示失敗。會設定GetLastError

參數表

參數 類型及說明
nBufferLength Long,lpBuffer緩衝區的長度
lpBuffer String,指定一個預定義字串,用於裝載當前目錄。

VC聲明

DWORDGetCurrentDirectory(DWORD nBufferLength,//sizeofdirectorybufferLPTSTR lpBuffer//directorybuffer);

函式功能

獲取當前進程的當前目錄。
注意當前目錄這東西有點怪異,本來確實是執行檔的所在目錄,但是當用檔案對話框成功打開一個檔案後,該目錄就被修改為被打開的檔案所在目錄。比如在程式中使用"123.txt"這樣的檔案名稱,希望將它存儲在exe檔案所在目錄中,但是當用戶用檔案對話框打開一個檔案"F:\456.txt"後,這個123.txt會被存儲到F盤下。(VC2005下的情況,其他VC版本待驗證)

參數說明

參數 類型及說明
nBufferLength 緩衝區的長度
lpBuffer 指定一個預定義字串,用於裝載當前目錄

返回值

調用成功 返回裝載到lpBuffer的位元組數。
使用GetLastError函式可獲得錯誤信息。

Ada聲明

函式定義於WIN32庫,當然,也可以自己在需要時隨時創建聲明,聲明如下:
typeDWORDismod2**32;--DWORD是無符號32位類型functionGetCurrentDirectory(nBufferLength:DWORD;--指定目錄緩衝的長度(多少位元組)lpBuffer:accesscharacter--給定字元串首個字元的訪問值(指針))returnDWORD;
pragmaimport(stdcall,GetCurrentDirectory,"GetCurrentDirectoryA");--從庫中導入該函式
們接著來創建一個Ada版本的函式。
functiongetCurrentDirectoryreturnstringisfunctiongetCurrentDirectory(nBufferLength:DWORD;lpBuffer:accesscharacter)returnDWORD;pragmaimport(stdcall,getCurrentDirectory,"GetCurrentDirectoryA");len:dword:=getCurrentDirectory(0,null);--首先利用系統函式來獲取必要的字元串長度s:string(1..integer(len));beginlen:=getCurrentDirectory(len,s(1)'unrestricted_access);returns(s'first..s'last-1);--C字元串以NUL結尾,去除endgetCurrentDirectory;

函式位置

VC下包含該函式的頭檔案 windows.h

相關詞條

熱門詞條

聯絡我們