Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan Direktori Semasa dalam C?
Mendapatkan semula Direktori Semasa
Mendapatkan direktori semasa adalah tugas yang kerap dalam pengaturcaraan. Sebagai contoh, katakan anda ingin mencipta fail dalam direktori yang sama di mana boleh laku dijalankan. Untuk melakukan ini, anda perlu mendapatkan laluan direktori semasa.
Walau bagaimanapun, apabila menggunakan fungsi GetCurrentDirectory() seperti yang ditunjukkan di bawah:
LPTSTR NPath = NULL; DWORD a = GetCurrentDirectory(MAX_PATH, NPath); HANDLE hNewFile = CreateFile(NPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
anda mungkin menghadapi pengecualian. Daripada GetCurrentDirectory(), anda harus menggunakan GetModuleFileName() untuk mendapatkan semula laluan boleh laku.
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
Untuk mendapatkan laluan direktori tanpa nama fail, anda boleh menggunakan fungsi C berikut:
#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"; }
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Direktori Semasa dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!