_chdir, _wchdir
Zmienia bieżący katalog roboczy.
Ważne |
---|
Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW. |
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parametry
- dirname
Ścieżka do nowego katalogu roboczego.
Wartość zwracana
Funkcje te zwracają wartość 0, jeśli kończy się pomyślnie.Zwracana wartość wynosząca –1 wskazuje błąd.Jeśli nie można odnaleźć określonej ścieżki, errno jest ustawiona na ENOENT.Jeśli dirname ma wartość NULL, moduł obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca wartość -1.
Uwagi
_chdir Funkcji zmienia bieżący katalog roboczy do katalogu określonego przez dirname.dirname Parametr musi odwoływać się do istniejącego katalogu.Tej funkcji można zmienić bieżący katalog roboczy na dowolnym dysku.Jeśli na nową literę dysku jest określona w dirname, jak również zmianie domyślną literę dysku.Na przykład jeśli jest domyślną literę dysku i \BIN jest bieżący katalog roboczy, poniższe wywołanie zmienia bieżący katalog roboczy na dysku C oraz ustanawia C jako nowy dysk domyślny:
_chdir("c:\\temp");
Kiedy używać opcjonalnych kreski ułamkowej odwróconej (\) w ścieżkach, należy zaznaczyć dwa ukośniki odwrotne (\\) w użyciu literału C do reprezentowania pojedynczego znaku odwróconego (\).
_wchdirjest ona szerokich znaków do _chdir; dirname argument _wchdir jest łańcuch znaków —. _wchdiri _chdir zachowują się identycznie inaczej.
Mapowanie rutynowych Generic tekstu:
Rozpoczęto wykonywanie procedury TCHAR.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Opcjonalny nagłówka |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> lub <wchar.h> |
<errno.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// 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");
}
Odpowiednik w programie .NET Framework
System::Environment::CurrentDirectory