您的位置:首页 > 编程语言 > C语言/C++

C语言-获取程序运行的当前目录函数GetCurrentDirectory

2013-06-21 22:20 489 查看
DWORD GetCurrentDirectory(

DWORD nBufferLength, // size of directory buffer

LPTSTR lpBuffer // directory buffer

);

函数功能

获取当前进程的当前目录。

注意当前目录这东西有点怪异,本来确实是可执行文件的所在目录,但是当用文件对话框成功打开一个文件后,该目录就被修改为被打开的文件所在目录。比如在程序中使用"123.txt"这样的文件名,希望将它存储在exe文件所在目录中,但是当用户用文件对话框打开一个文件"F:\456.txt"后,这个123.txt会被存储到F盘下。(VC2005下的情况,其他VC版本待验证)

参数说明

参数 类型及说明

nBufferLength 缓冲区的长度

lpBuffer 指定一个预定义字串,用于装载当前目录

返回值

调用成功 返回装载到lpBuffer的字节数。

调用函数的例子如下:

#001 //获取或者改变当前目录路径。

#002 #003 void GetCurDir(void)

#004 {

#005 //

#006 TCHAR szBuf[MAX_PATH];

#007 ZeroMemory(szBuf,MAX_PATH);

#008 if (GetCurrentDirectory(MAX_PATH,szBuf)
> 0)

#009 {

#010 //获取进程目录成功。

#011 OutputDebugString(szBuf);

#012 }

#013 else

#014 {

#015 //改变当前目录位置。

#016 SetCurrentDirectory(_T("C:\\"));

#017 }

#018

#019 OutputDebugString(_T("\r\n"));

#020 }

#021
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐