C语言获取当前的工作路径

在C语言中获取当前的工作路径的方法一般是用内置函数为:

DWORD GetModuleFileName(HMODULE hModule, LPTSTR lpFilename, DWORD nSize);
  • 函数的参数说明:

  1.  hModule 装载一个程序实力的句柄。如果该参数为NULL,该函数返回当前应用程序的全路径;

  2.  lpFileName 是存放返回的名字的内存块的指针,是一个输出参数;

  3. nSize 装载缓冲区lpFileName的最大值。

  • 函数的返回值:

  1. 如果返回成功,将在lpFileName的缓冲区当中返回相应模块的路径,如果nSize过小,那么返回仅按所设置缓冲区的大小返回相应的字符串内容;

  2. 如果函数失败,返回值将为0,并返回GetLastError异常代码。

    值得注意的是需要添加头文件为:include "Windows.h"

例子:

#define MX_PATH 200

... 

WCHAR buff[MAX_PATH];                        //用于存放获取路径的信息    
GetModuleFileName(NULL, buff, MAX_PATH);     // 第一个参数为句柄,NULL则指向当前程序;第二个参数用于存放地址的指针;第三个参数是系统自带的宏定义,也就是长度。
CString str = buff;                           // 将buff存放的路径赋值给字符串str,此时的buff的值如 “C:\Desktop\TEST\Debug\***.exe”
int pos = str.ReverseFind('\\');               // 查找倒数最后一个‘\\’符号
str = str.Left(pos+1);                         // str只获取exe所在文件加的路径,str为 “ C:\Desktop\TEST\Debug\”
...

// 值得注意的是:第三步的ReverseFind()函数中使用的是单引号

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三贝勒文子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值