_makepath, _wmakepath

Creare un nome di percorso da componenti.Più versioni sicure di queste funzioni sono disponibili, vedere _makepath_s, _wmakepath_s.

void _makepath(
   char *path,
   const char *drive,
   const char *dir,
   const char *fname,
   const char *ext 
);
void _wmakepath(
   wchar_t *path,
   const wchar_t *drive,
   const wchar_t *dir,
   const wchar_t *fname,
   const wchar_t *ext 
);

Parametri

  • path
    Buffer di percorso completo.

  • drive
    Contiene una lettera (A, B, e così via) corrispondente nell'unità desiderata e i due punti finali facoltativi._makepath inserisce i due punti automaticamente nel percorso composto se disponibile.se drive viene NULL o punta a una stringa vuota, nessuna lettera di unità viene visualizzato in composto path stringa.

  • dir
    Contiene il percorso delle directory, escluso dell'indicatore di unità o del nome del file effettivo.La barra finale è facoltativa e una barra (/) o una barra rovesciata (\) o entrambe possono essere utilizzate in un singolo dir argomento.Se nessuna barra finale (/o \) è specificata, viene inserita automaticamente.se dir viene NULL o punta a una stringa vuota, nessun percorso della directory viene inserito in composto path stringa.

  • fname
    contiene il nome file di base senza alcune estensioni di file.se fname viene NULL o punta a una stringa vuota, nessun nome file viene inserito in composto path stringa.

  • ext
    Contiene effettiva estensione di file, con o senza un punto iniziale (.)._makepath inserire il punto automaticamente se non è visualizzato in ext.se ext viene NULL o punta a una stringa vuota, alcuna estensione viene inserito in composto path stringa.

Note

_makepath la funzione crea una stringa di percorso composta da singoli componenti, archiviare il risultato in path.path potrebbe includere una lettera di unità, un percorso di directory, nome file e l'estensione del nome file._wmakepath è una versione a caratteri estesi di _makepath; gli argomenti a _wmakepath sono le stringhe di caratteri estesi._wmakepath e _makepath comportano in modo identico in caso contrario.

Nota sulla sicurezza   utilizzare una stringa con terminazione null.Per evitare il sovraccarico del buffer, la stringa con terminazione null non deve superare la dimensione di path buffer._makepath non garantisce che la lunghezza delle stringhe di percorso composta non supera _MAX_PATH.Per ulteriori informazioni, vedere Evitare i sovraccarichi del buffer.

Mapping di routine a testo generico

routine di Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tmakepath

_makepath

_makepath

_wmakepath

path l'argomento deve puntare a un buffer vuoto abbastanza grande da contenere il percorso completo.il composto path non deve essere maggiore di _MAX_PATH costante, definita in Definito.

se il percorso è NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.inoltre, errno è impostato su EINVAL.NULL i valori consentiti per tutti gli altri parametri.

Requisiti

routine

Intestazione di associazione

_makepath

<definito>

_wmakepath

<definito> o <wchar.h>

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

Esempio

// crt_makepath.c
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   char path_buffer[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];

   _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" ); // C4996
   // Note: _makepath is deprecated; consider using _makepath_s instead
   printf( "Path created with _makepath: %s\n\n", path_buffer );
   _splitpath( path_buffer, drive, dir, fname, ext ); // C4996
   // Note: _splitpath is deprecated; consider using _splitpath_s instead
   printf( "Path extracted with _splitpath:\n" );
   printf( "  Drive: %s\n", drive );
   printf( "  Dir: %s\n", dir );
   printf( "  Filename: %s\n", fname );
   printf( "  Ext: %s\n", ext );
}
  

Equivalente .NET Framework

System:: I:: file:: creare

Vedere anche

Riferimenti

Gestione dei file

_fullpath, _wfullpath

_splitpath, _wsplitpath

_makepath_s, _wmakepath_s