_chdir, _wchdir
更改当前工作目录。
重要
此 API 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW。
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
参数
- dirname
新的工作目录路径。
返回值
这些函数返回值为 0,如果成功。 返回值– 1 指示失败。 如果找不到指定的路径,errno设置为 ENOENT。 如果 dirname 为空,则无效参数调用处理程序,如 参数验证所述。 如果执行允许继续,errno设置为 EINVAL,函数返回 -1。
备注
对目录的当前工作目录由 dirname指定的 _chdir函数。 dirname 参数必须引用某个现有目录。 此功能可能会在所有驱动程序的当前工作目录。 如果新盘符在 dirname指定,更改默认驱动程序字母。 例如,在中,如果是默认驱动程序字母,并 \BIN 是当前工作目录,下面的缩放更改驱动器 C 的当前工作目录并建立 C 作为新默认驱动程序:
_chdir("c:\\temp");
当您在路径中使用选项反斜杠字符 (\) 时,可以在 c. 字符串写入必须将两个反斜杠 (\\) 表示一个反斜杠 (\)。
_wchdir是 _chdir的宽字符版本;为 _wchdir的 dirname 参数是宽字符字符串. _wchdir,并 _chdir否则具有相同的行为。
一般文本例程映射:
Tchar.h 实例 |
未定义的_UNICODE 和_MBCS |
定义的_MBCS |
定义的_UNICODE |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
要求
实例 |
必需的标头 |
选项标头 |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> 或 <wchar.h> |
<errno.h> |
有关更多兼容性信息,请参见中介绍的 兼容性。
示例
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
.NET Framework 等效项
System::Environment::CurrentDirectory