VC++当前路径的问题

CStringpath;GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH));path+="\\file.dat"... CString path;
GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH));
path+="\\file.dat";

为什么最后path="\file.dat";
用GetCurrentDirectory后,path正确

还有,如果把它放到(注册表)启动里面好像获得的当前路径不对,如何能够解决这个问题!
展开
 我来答
beddy1
2008-09-19 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2220万
展开全部
GetCurrentDirectory得到的只是相对路径,如果你在桌面创建一个快捷方式的话,就会得到快捷方式所在的路径了,而不是应用程序实际存在的路径。要得到实际路径要用另个的方法,很久不用记不住了。
至于最后为什么要加path+="\\file.dat";
GetCurrentDirectory得到的只是文件夹啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九晨曦28
2008-09-19 · TA获得超过334个赞
知道小有建树答主
回答量:342
采纳率:100%
帮助的人:103万
展开全部
改成下面的:
CString path;
GetCurrentDirector(MAX_PATH,path.GetBuffer(MAX_PATH));
path.ReleaseBuffer();
path=path+"\\file.dat";
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
史濡彭诗双
2019-11-03 · TA获得超过1227个赞
知道小有建树答主
回答量:2014
采纳率:100%
帮助的人:9.7万
展开全部
cfile类完全可以用自己定义的文件名来创建文件的啊
你可以用ctime::getcurrenttime函数(记不太清楚了,好像是这样)获取系统时间,然后在字符串后面加上wifidata就行了啊,路径你用相对路径就可以实现,而且你是在exe文件路径,直接写文件名就行了,当然你如果用vc调试时候是在vc工程所在路径下,你打开debug文件夹直接运行产生的exe就在当前目录中咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lfm13720
2008-09-19 · TA获得超过1102个赞
知道小有建树答主
回答量:896
采纳率:0%
帮助的人:0
展开全部
获取程序完整路径应该用GetModuleFileName
TCHAR szFileName[MAX_PATH];
GetModuleFileName(NULL,szFileName,MAX_PATH);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5bb2ec692bb
2008-09-19 · 超过33用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:0
展开全部
先include这个:
#include <direct.h>

CString path;

_getcwd(path.GetBuffer(MAX_PATH), MAX_PATH);
path+="\\file.dat";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式