windows API 第 11 篇 GetCurrentDirectory SetCurrentDirectory

GetCurrentDirectory函数获得当前文件所在的目录,并不是进程的目录(debug 和 release),它和GetCommandLine不同
这里只讲

GetCurrentDirectory,GetCurrentDirectory是一个宏
#ifdef UNICODE
#define GetCurrentDirectory  GetCurrentDirectoryW
#else
#define GetCurrentDirectory  GetCurrentDirectoryA
#endif // !UNICODE


看一下定义:
// 获得当前文件所在目录:
DWORD GetCurrentDirectory
                                                 DWORD nBufferLength,  // size of directory buffer
                                                 LPTSTR lpBuffer       // directory buffer);

参数都比较简单,不做过多的介绍。
返回值:调用成功则返回写入lpBuffer的字符个数,不包括'\0',失败则返回0,
如果缓冲区的长度不够,则函数返回实际需要的缓冲区大小,包括'\0'。
// 设置当前目录:
BOOL SetCurrentDirectory(  LPCTSTR lpPathName   // new directory name
                                            );

举例说明:
    char szDir1[MAX_PATH] = { 0 };
    DWORD dwLen1 = GetCurrentDirectoryA(MAX_PATH, szDir1);

    WCHAR *pDir2 = NULL;
    DWORD dwLen2 = GetCurrentDirectory(0, pDir2);

    pDir2 = new WCHAR[dwLen2];
    DWORD dwLen = GetCurrentDirectory(dwLen2, pDir2);

    delete []pDir2;

转载于:https://www.cnblogs.com/priarieNew/p/9754428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值