Condividi tramite


_fullpath, _wfullpath

Crea un assoluto o un nome di percorso completo per il percorso relativo specificato.

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

Parametri

  • absPath
    Puntatore a un buffer che contiene assoluto o il nome di percorso completo, o NULL.

  • relPath
    Percorso relativo.

  • maxLength
    Lunghezza massima del buffer del nome del percorso assoluto (absPath).Tale lunghezza in byte per _fullpath ma i caratteri di tipo " wide " (wchar_tper) _wfullpath.

Valore restituito

Ognuna di queste funzioni restituisce un puntatore a un buffer che contiene il nome del percorso assoluto (absPath).Se c " è un errore (ad esempio, se il valore passata in relPath include una lettera di unità non valida o non viene trovata, oppure se la lunghezza del nome del percorso assoluto creato (absPath) è maggiore di maxLength), la funzione restituisce NULL.

Note

_fullpath la funzione consente di espandere il nome di percorso relativo in relPath ai relativi completo o percorso assoluto e archivi questo nome in absPath*.* se absPath è NULL, malloc viene utilizzato per allocare un buffer di lunghezza sufficiente per utilizzare il nome del percorso.È responsabilità del chiamante liberare questo buffer.Un nome di percorso relativo specifica un percorso a un altro percorso dalla posizione corrente (ad esempio la cartella di lavoro corrente: “.").Un nome di percorso assoluto è l'espansione di un nome di percorso relativo che indica l'intero percorso di associazione per ottenere la posizione desiderata dalla radice del file system.A differenza di _makepath, _fullpath può essere utilizzato per ottenere il nome del percorso assoluto per i percorsi relativi (relPath) in cui “. /„ o “. /„ dei rispettivi nomi.

Ad esempio, per utilizzare le routine di runtime del linguaggio C, l'applicazione deve includere i file di intestazione contenenti le dichiarazioni per le routine.Ogni file di intestazione include riferimenti dell'istruzione la posizione del file in modo relativo della directory di lavoro dell'applicazione):

#include <stdlib.h>

quando il percorso assoluto (la posizione del file system) del file potrebbe essere:

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

_fullpathgestisce automaticamente gli argomenti della stringa con caratteri multibyte in base alle proprie esigenze, riconoscere le sequenze di caratteri multibyte in base alla tabella codici multibyte in uso._wfullpathè una versione a caratteri estesi di _fullpath; gli argomenti di tipo stringa a _wfullpathsono le stringhe di caratteri estesi._wfullpathe _fullpathcomportano in modo identico con la differenza che _wfullpathnon gestisce le stringhe di caratteri multibyte.

se _DEBUGe _CRTDBG_MAP_ALLOCsono entrambe il definito, chiamate a _fullpath e _wfullpath vengono sostituiti dalle chiamate a _fullpath_dbg e _wfullpath_dbg per consentire le allocazioni di memoria di debug.Per ulteriori informazioni, vedere _fullpath_dbg, _wfullpath_dbg.

Questa funzione viene richiamato il gestore non valido di parametro, come descritto in Convalida dei parametrise, maxlen è minore o uguale a 0.Se l'esecuzione è consentita per continuare, set di questa funzione errno in EINVAL e restituisce NULL.

Mapping di routine a testo generico

routine di Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tfullpath

_fullpath

_fullpath

_wfullpath

se absPath il buffer è NULL, _fullpath chiamate report per allocare un buffer e ignora maxLength argomento.È responsabilità di chiamanti di rilasciare questo buffer mediante libero) in base alle proprie esigenze.se relPath l'argomento specifica un'unità disco, la directory corrente di questa unità combina con il percorso.

Requisiti

Funzione

Intestazione di associazione

_fullpath

<definito>

_wfullpath

<definito> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.

Esempio

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

Equivalente .NET Framework

System:: I:: file:: creare

Vedere anche

Riferimenti

Gestione dei file

_getcwd, _wgetcwd

_getdcwd, _wgetdcwd

_makepath, _wmakepath

_splitpath, _wsplitpath