_splitpath, _wsplitpath

Interrompere un percorso in componenti.Più versioni sicure di queste funzioni sono disponibili, vedere _splitpath_s, _wsplitpath_s.

void _splitpath(
   const char *path,
   char *drive,
   char *dir,
   char *fname,
   char *ext 
);
void _wsplitpath(
   const wchar_t *path,
   wchar_t *drive,
   wchar_t *dir,
   wchar_t *fname,
   wchar_t *ext 
);

Parametri

  • path
    percorso completo.

  • drive
    Lettera di unità, seguita da un segno di due punti (:).È possibile passare NULL per questo parametro su se non è necessaria la lettera di unità.

  • dir
    Percorso di directory, inclusi la barra finale.barre ( / ), barre rovesciate ( \ ), o entrambi può essere utilizzato.È possibile passare NULL per questo parametro su se non è necessario alcun percorso della directory.

  • fname
    Nome file di base (alcuna estensione).È possibile passare NULL per questo parametro su se non è necessario alcun nome file.

  • ext
    Estensione del nome file, inclusi il punto iniziale (.).È possibile passare NULL per questo parametro su se non è necessario disporre dell'estensione del nome file.

Note

_splitpath la funzione consente di interrompere un percorso delle quattro componenti._splitpath gestisce 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._wsplitpath è una versione a caratteri estesi di _splitpath; gli argomenti a _wsplitpath sono le stringhe di caratteri estesi.Queste funzioni si comportano in modo identico in caso contrario.

Nota sulla sicurezza    Queste funzioni comportano un rischio potenziale determinata da un problema di sovraccarico del buffer.I problemi di sovraccarico del buffer è un frequente metodo di attacco del sistema, con conseguente elevation of privilege ingiustificata.Per ulteriori informazioni, vedere Evitare i sovraccarichi del buffer.Più versioni sicure di queste funzioni sono disponibili, vedere _splitpath_s, _wsplitpath_s.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tsplitpath

_splitpath

_splitpath

_wsplitpath

Ogni parte del percorso completo viene archiviata in un buffer distinto; le costanti manifesto _MAX_DRIVE, _MAX_DIR, _MAX_FNAMEe _MAX_EXT (definito da STDLIB.H) specificare la dimensione massima consentita per ogni componente del file.Archiviare i componenti maggiori di danneggiamento manifesto corrispondente dell'heap di causa di costanti.

Ciascun buffer è necessario avere le stesse dimensioni della costante del manifesto corrispondente evitare il sovraccarico del buffer.

Nella tabella seguente sono elencati i valori delle costanti manifesto.

Nome

Valore

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

Se il percorso completo non contiene un componente (ad esempio, un file), _splitpath l'assegnazione delle stringhe vuote nel buffer corrispondenti.

È possibile passare NULL in _splitpath per qualsiasi parametro diverso da pathnon è necessaria.

se path viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, errno è impostato su EINVAL e restituisce un valore di funzione EINVAL.

Requisiti

routine

Intestazione di associazione

_splitpath

<definito>

_wsplitpath

<definito> o <wchar.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

Vedere l'esempio relativo a _makepath.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Gestione dei file

_fullpath, _wfullpath

_getmbcp

_makepath, _wmakepath

_setmbcp

_splitpath_s, _wsplitpath_s