首页 >后端开发 >C++ >如何在 C 语言中检索当前目录路径?

如何在 C 语言中检索当前目录路径?

Patricia Arquette
Patricia Arquette原创
2024-11-08 10:29:02715浏览

How to Retrieve the Current Directory Path in C  ?

获取C中的当前目录

在程序执行的当前目录中创建文件时,获取正确的路径至关重要。但是,在您的代码中,您在 GetCurrentDirectory() 期间遇到异常。

了解异常

该异常可能是由传递给 GetCurrentDirectory 的参数无效引起的。在调用此函数之前,您需要分配一个缓冲区来存储目录路径。

使用 GetModuleFileName 的替代解决方案

要检索可执行文件的路径,请考虑使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn