_getcwd, _wgetcwd
현재 작업 디렉터리를 가져옵니다.
중요 |
---|
이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
char *_getcwd(
char *buffer,
int maxlen
);
wchar_t *_wgetcwd(
wchar_t *buffer,
int maxlen
);
매개 변수
buffer
경로 대 한 저장소 위치입니다.maxlen
경로의 문자에서 최대 길이: char 에 대 한 _getcwd 및 wchar_t 에 대 한 _wgetcwd.
반환 값
buffer에 대한 포인터를 반환합니다.A NULL 반환 값은 오류를 나타냅니다 및 errno 하나 설정 ENOMEM, 할당할 메모리가 부족 하다 maxlen 바이트 (때는 NULL 인수를 지정 하 여 이름으로 buffer), 또는 ERANGE, 경로 이상 하다 maxlen 자.경우 maxlen 보다 작거나 0으로의 설명에 따라이 함수는 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.
이러한 및 다른 반환 코드에 대 한 자세한 내용은 참조 하십시오 _sys_nerr, _doserrno, errno, _sys_errlist,.
설명
_getcwd 함수 기본 드라이브에 대 한 현재 작업 디렉터리의 전체 경로 가져와서 저장에 buffer.정수 인수 maxlen 경로의 최대 길이 지정 합니다.(종료 null 문자 포함)의 경로 길이 초과 하면 오류가 발생 maxlen*.*buffer 인수 수 NULL. 최소 크기의 버퍼 maxlen (더 필요한 경우에)은 자동으로 할당을 사용 하 여 malloc, 경로 저장 합니다.나중에 호출 하 여이 버퍼를 해제할 수 free 전달 된 _getcwd (할당 된 버퍼 포인터) 값을 반환 합니다.
_getcwd현재 작업 디렉터리의 경로 나타내는 string을 반환 합니다.현재 작업 디렉터리 루트 경우 문자열이 백슬래시로 끝나는 ( \ ).현재 작업 디렉터리 이외의 디렉터리 루트 경우 디렉터리 이름 및 않는 백슬래시 문자열을 종료 합니다.
_wgetcwd와이드 문자 버전인 _getcwd. buffer 의 인수 및 반환 값 _wgetcwd 와이드 문자 문자열입니다._wgetcwd및 _getcwd 그렇지를 동일 하 게 동작 합니다.
때 _DEBUG 및 _CRTDBG_MAP_ALLOC 정의 되 고 호출 _getcwd 및 _wgetcwd 호출 하 여 대체 _getcwd_dbg 및 _wgetcwd_dbg 메모리 할당을 디버깅 하는 데 수 있도록.자세한 내용은 _getcwd_dbg, _wgetcwd_dbg.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tgetcwd |
_getcwd |
_getcwd |
_wgetcwd |
요구 사항
루틴 |
필수 헤더 |
---|---|
_getcwd |
<direct.h> |
_wgetcwd |
<direct.h> 또는 <wchar.h> |
자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.
예제
// crt_getcwd.c
// This program places the name of the current directory in the
// buffer array, then displays the name of the current directory
// on the screen. Passing NULL as the buffer forces getcwd to allocate
// memory for the path, which allows the code to support file paths
// longer than _MAX_PATH, which are supported by NTFS.
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
char* buffer;
// Get the current working directory:
if( (buffer = _getcwd( NULL, 0 )) == NULL )
perror( "_getcwd error" );
else
{
printf( "%s \nLength: %d\n", buffer, strnlen(buffer) );
free(buffer);
}
}
해당 .NET Framework 항목
System::Environment::CurrentDirectory