다음을 통해 공유


_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" );
}
  

해당 .NET Framework 항목

System::IO::File:: 만들기

참고 항목

참조

파일 처리

_getcwd, _wgetcwd

_getdcwd, _wgetdcwd

_makepath, _wmakepath

_splitpath, _wsplitpath