Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Dapatkan Laluan Direktori Semasa dalam C?
Apabila mencipta fail dalam direktori semasa di mana program sedang melaksanakan, adalah penting untuk mendapatkan laluan yang betul. Walau bagaimanapun, dalam kod anda, anda menghadapi pengecualian semasa GetCurrentDirectory().
Pengecualian mungkin disebabkan oleh hujah tidak sah yang dihantar kepada GetCurrentDirectory. Anda perlu memperuntukkan penimbal untuk menyimpan laluan direktori sebelum memanggil fungsi ini.
Untuk mendapatkan semula laluan fail boleh laku, pertimbangkan untuk menggunakan GetModuleFileName sebaliknya:
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
Untuk mendapatkan laluan direktori tanpa nama fail, anda boleh menggunakan fungsi 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 Dapatkan Laluan Direktori Semasa dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!