看流星社区

 找回密码
 注册账号
查看: 1800|回复: 0

GetCurrentDirectory的使用(SDK)

[复制链接]

该用户从未签到

发表于 2014-6-15 21:59:46 | 显示全部楼层 |阅读模式
使用VC6.0 把我的脑袋都搞大了,主要是 字符串的问题.
下面是使用GetCurrentDirectory的经验.它的主要功能是返回你正在运行的程序的当前目录.
函数定义:
DWORD GetCurrentDirectory(
  DWORD nBufferLength,  // size, in characters, of directory buffer
  LPTSTR lpBuffer       // pointer to buffer for current directory
);

int i = GetCurrentDirectoryW(0,NULL);  //先把两个参数设为0,NULL用来返回目录的字符数.

WCHAR dir[100];   //关键就在这里, 函数定义中第二个参数用来保存目录的字符串,类型为LPTSTR,如果我们直接声明一个变量 LPTSTR dir的话,能通过编译,但是在执行的时候会发生 access violation的错误.(我声明的char dir[100]vc++.net 2005中只得到路径的第一个字母,改为WCHAR后问题解决。----zskcy)
GetCurrentDirectory(i,dir);
printf("当前目录:%S/n",dir);    //显示
wcscat(dir, _T(//yourfilename.txt));   //这里是把当前目录和一个文件结合起来,得到文件的绝对路径
printf("需要的网络协议文件:%S/n",dir);  //显示

原来我就是声明的一个LPTSTR dir来保存目录,无法把目录字符串保存到dir中,返回总是空.并且wcscat好象也会出错.
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-29 09:03

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表