Windows核心编程_更改当前工作目录

在Windows环境下开发每个程序都会有一个工作目录

比如你在C盘下有一个.EXE文件你打开,那么这个程序的工作目录就在C盘下,你使用fopen等文件IO函数即便不给绝对路径给相对路径那么Windows会默认从工作目录下+相对路径

比如工作目录是C盘

然后fopen打开文件给相对路径

fopen("TEST.TXT");

实际上Windows在给你创建IO对象的时候是以这样的路径来选择磁盘文件的:

工作目录+fopen参数=C:\TEST.TXT

如果想要更改这个目录可以使用API:

SetCurrentDirectory

函数原型:

BOOL WINAPI SetCurrentDirectory( __in LPCTSTR lpPathName);

参数介绍:

__in LPCTSTR lpPathName:路径

返回值:

成功返回真,否则返回假

示列:

SetCurrentDirectory(_T("E:\\test\\"));

这里给大家说一个问题,之前博主遇到的!

博主之前在做T&M开发的时候在上面有个命令command调用可以调用外部程序,然后博主在d盘写了一个log程序,方便调用,结果调用log文件找不到了,路径是当前文件夹,结果最后发现,写到C盘下的T&M程序目录下了,也就是说使用command命令调用会把程序视为子进程,而子进程和父进程使用同一工作目录!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

17岁boy想当攻城狮

感谢打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值