首頁 > 後端開發 > C++ > C語言中如何取得目前目錄?

C語言中如何取得目前目錄?

Linda Hamilton
發布: 2024-11-09 03:32:02
原創
304 人瀏覽過

How to Get the Current Directory in C  ?

擷取目前目錄

取得目前目錄是程式設計中的常見任務。例如,假設您要在執行可執行檔的相同目錄中建立一個檔案。為此,您需要取得目前目錄的路徑。

但是,當使用 GetCurrentDirectory() 函數時,如下所示:

LPTSTR NPath = NULL;
DWORD a = GetCurrentDirectory(MAX_PATH, NPath);
HANDLE hNewFile = CreateFile(NPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
登入後複製

您可能會遇到異常。您應該使用 GetModuleFileName() 來檢索可執行路徑,而不是 GetCurrentDirectory()。

TCHAR buffer[MAX_PATH] = { 0 };
GetModuleFileName(NULL, buffer, MAX_PATH);
登入後複製

要取得不含檔名的目錄路徑,您可以使用下列 C 函數:

#include <windows.h>
#include <string>
#include <iostream>

std::wstring ExePath() {
    TCHAR buffer[MAX_PATH] = { 0 };
    GetModuleFileName(NULL, buffer, MAX_PATH);
    std::wstring::size_type pos = std::wstring(buffer).find_last_of(L"\/");
    return std::wstring(buffer).substr(0, pos);
}

int main() {
    std::cout << "my directory is " << ExePath() << "\n";
}
登入後複製

以上是C語言中如何取得目前目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板