_fullpath, _wfullpath

Cria um nome de caminho completo ou absoluto para o nome de caminho relativo especificado.

char *_fullpath( 
   char *absPath,
   const char *relPath,
   size_t maxLength 
);
wchar_t *_wfullpath( 
   wchar_t *absPath,
   const wchar_t *relPath,
   size_t maxLength 
);

Parâmetros

  • absPath
    Ponteiro para um buffer que contém o caminho absoluto ou total nome ou nulo.

  • relPath
    Nome de caminho relativo.

  • maxLength
    Comprimento máximo de buffer de nome de caminho absoluto (absPath). Esse comprimento é em bytes para _fullpath mas em toda a caracteres)wchar_t) para _wfullpath.

Valor de retorno

Cada uma dessas funções retorna um ponteiro para um buffer que contém o nome de caminho absoluto (absPath). Se houver um erro (por exemplo, se o valor passado relPath inclui uma letra da unidade que inválido ou inválido for encontrada, ou se o comprimento do caminho absoluto criado nome ()absPath) é maior que maxLength), a função retornará NULL.

Comentários

The _fullpath função expande o nome de caminho relativo no relPath caminho totalmente qualificado ou absoluto e o armazena esse nome no absPath*.* If absPath for nulo, malloc é usado para alocar um buffer de tamanho suficiente para conter o nome do caminho. É responsabilidade do chamador para liberar esse buffer.Um nome de caminho relativo Especifica um caminho para outro local do local corrente (sistema autônomo o diretório de trabalho corrente: ".").Um nome de caminho absoluto é a expansão de um nome de caminho relativo que indica o caminho inteiro necessário para acessar o local desejado da raiz do sistema de arquivos.Ao contrário de _makepath, _fullpath pode ser usado para obter o nome do caminho absoluto para caminhos relativos)relPath) que incluem ". /"ou"../ "em seus nomes.

Por exemplo, para usar rotinas de time de execução C, o aplicativo deve incluir os arquivos de cabeçalho que contêm as declarações para as rotinas.Cada arquivo de cabeçalho incluir referências de demonstrativo o local do arquivo de modo relativo (do diretório de trabalho do aplicativo):

#include <stdlib.h>

Quando o caminho absoluto (local de sistema de arquivos real) do arquivo pode ser:

\\machine\shareName\msvcSrc\crt\headerFiles\stdlib.h

_fullpath trata automaticamente sistema autônomo argumentos de seqüência de caractere multibyte conforme apropriado, reconhecendo seqüências de caractere de multibyte de acordo com para a página de código multibyte atualmente em uso. _wfullpath é uma versão de caractere largo da _fullpath; os argumentos de seqüência de caracteres _wfullpath são seqüências de caracteres largos. _wfullpath e _fullpath tenham comportamento idêntico, exceto que _wfullpath não trata as seqüências de caractere de multibyte.

If _DEBUG e _CRTDBG_MAP_ALLOC são as duas definida, chamadas para _fullpath e _wfullpath são substituídos por chamadas para _fullpath_dbg e _wfullpath_dbg para permitir a depuração de alocações de memória. Para obter mais informações, consulte _fullpath_dbg, _wfullpath_dbg.

Esta função chama o manipulador de parâmetro inválido sistema autônomo descrito em Validação de parâmetro, se maxlen é menor ou igual a 0. Se a execução for permitida para continuar, essa função define errno para EINVAL e retornos NULL.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tfullpath

_fullpath

_fullpath

_wfullpath

Se o absPath o buffer é NULL, _fullpath chamadas malloc alocar um buffer e ignora o maxLength argumento. É responsabilidade do chamador para desalocar desse buffer (usando disponível) conforme apropriado.Se o relPath argumento especifica uma unidade de disco, pasta corrente da unidade é combinada com o caminho.

Requisitos

Função

Cabeçalho necessário

_fullpath

<stdlib.h>

_wfullpath

<stdlib.h> ou <wchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

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

Full path is: C:\Documents and Settings\user\My Documents\test Full path is: C:\test Full path is: C:\Documents and Settings\user\test

Equivalente do NET Framework

sistema::IO::arquivo:: criar

Consulte também

Referência

Manipulação de arquivos

_getcwd, _wgetcwd

_getdcwd, _wgetdcwd

_makepath, _wmakepath

_splitpath, _wsplitpath