_fullpath, _wfullpath
에 지정 된 상대 경로 이름에 대 한 절대 경로나 전체 경로 이름을 만듭니다.
char *_fullpath(
char *absPath,
const char *relPath,
size_t maxLength
);
wchar_t *_wfullpath(
wchar_t *absPath,
const wchar_t *relPath,
size_t maxLength
);
매개 변수
absPath
절대 경로나 전체 경로 포함 하는 버퍼에 대 한 포인터 이거나, NULL 또는 이름입니다.relPath
상대 경로 이름입니다.maxLength
절대 경로 이름의 버퍼의 최대 길이 (absPath).이 길이 (바이트)에서입니다 _fullpath 하지만 와이드 문자에서 (wchar_t)에 대 한 _wfullpath.
반환 값
이러한 각 함수 절대 경로 이름을 포함 하는 버퍼에 대 한 포인터를 반환 (absPath).오류가 있으면 (등의 값을 전달 하는 경우 relPath 잘못 되었거나 찾을 수 없습니다 하는 드라이브 문자를 포함 하거나 만든된 절대 경로 이름의 길이가 (absPath) 보다 큰 maxLength), 함수 반환 NULL.
설명
_fullpath 함수에서 상대 경로 이름을 확장 하 여 relPath 의 완전 한 형태 이거나 절대 경로 및 저장이 이름에 absPath*.* 경우 absPath 가 NULL 인지 malloc 경로 이름을 보유할 충분 한 길이의 버퍼를 할당 하는 데 사용 됩니다.이 버퍼를 해제 하려고 호출자의 책임입니다.상대 경로 이름을 현재 위치에서 다른 위치로 경로 지정 (예: 현재 작업 디렉터리: ".").절대 경로 이름이 확장의 루트에서 파일 시스템의 원하는 위치에 도달 하기 위해 필요한 전체 경로 나타내는 상대 경로 이름입니다.달리 _makepath, _fullpath 의 절대 경로 이름에 대 한 상대 경로 가져오는 데 사용할 수 있습니다 (relPath)에 포함 ". /"또는".../ "이름에.
예를 들어, C 런타임 루틴을 사용 하려면 응용 프로그램 루틴에 대 한 선언을 포함 하는 헤더 파일을 포함 해야 합니다.각 헤더 파일 포함 문에 대 한 참조 파일의 위치 (응용 프로그램의 작업 디렉터리)에서 상대적으로:
#include <stdlib.h>
때 파일의 절대 경로 (실제 파일 시스템 위치가) 될 수 있습니다.
\\machine\shareName\msvcSrc\crt\headerFiles\stdlib.h
_fullpath 자동으로 현재 사용 중인 멀티 바이트 코드 페이지에 따라 멀티 바이트 문자 시퀀스를 인식 합니다. 멀티 바이트 문자 문자열 인수를 적절 하 게 처리 합니다._wfullpath 와이드 문자 버전입니다 _fullpath. 문자열 인수를 _wfullpath 와이드 문자 문자열입니다._wfullpath 및 _fullpath 동일 하 게 동작 _wfullpath 멀티 바이트 문자 문자열을 처리 하지 않습니다.
경우 _DEBUG 및 _CRTDBG_MAP_ALLOC 정의는 두 호출을 _fullpath 및 _wfullpath 호출에 의해 대체 됩니다 _fullpath_dbg 및 _wfullpath_dbg 디버깅을 위해 메모리를 할당할 수 있도록 합니다.자세한 내용은 _fullpath_dbg, _wfullpath_dbg.
이 함수에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사경우, maxlen 0 보다 작거나 같습니다.실행을 계속 수 있으면이 함수는 설정 errno 에 EINVAL 를 반환 하 고 NULL.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되지 않았습니다. |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tfullpath |
_fullpath |
_fullpath |
_wfullpath |
경우는 absPath 버퍼 NULL, _fullpath 호출 malloc 버퍼를 할당 하 고 무시를 maxLength 인수.이 버퍼를 할당 하는 호출자의 책임입니다 (를 사용 하 여 사용할 수 있는) 적절 하 게 합니다.경우는 relPath 인수는 디스크 드라이브를 지정 하 고이 드라이브의 현재 디렉터리 경로 함께 결합 됩니다.
요구 사항
Function |
필수 헤더 |
---|---|
_fullpath |
<stdlib.h> |
_wfullpath |
<stdlib.h> 또는 <wchar.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_fullpath.c
// This program demonstrates how _fullpath
// creates a full path from a partial path.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <direct.h>
void PrintFullPath( char * partialPath )
{
char full[_MAX_PATH];
if( _fullpath( full, partialPath, _MAX_PATH ) != NULL )
printf( "Full path is: %s\n", full );
else
printf( "Invalid path\n" );
}
int main( void )
{
PrintFullPath( "test" );
PrintFullPath( "\\test" );
PrintFullPath( "..\\test" );
}