在程序执行的当前目录中创建文件时,获取正确的路径至关重要。但是,在您的代码中,您在 GetCurrentDirectory() 期间遇到异常。
该异常可能是由传递给 GetCurrentDirectory 的参数无效引起的。在调用此函数之前,您需要分配一个缓冲区来存储目录路径。
要检索可执行文件的路径,请考虑使用 GetModuleFileName 代替:
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
要获取不带文件名的目录路径,可以使用以下函数:
#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中文网其他相关文章!