检索当前目录
获取当前目录是编程中的常见任务。例如,假设您要在运行可执行文件的同一目录中创建一个文件。为此,您需要获取当前目录的路径。
但是,当使用 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中文网其他相关文章!