_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

请参见

参考

内容控件

_mkdir, _wmkdir

_rmdir, _wrmdir

system, _wsystem