Sdílet prostřednictvím


_splitpath _wsplitpath

Název cesty rozdělují na součásti.Bezpečnější verze tyto funkce jsou k dispozici, naleznete v tématu _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 
);

Parametry

  • path
    Úplná cesta.

  • drive
    Jednotka písmeno následované dvojtečkou (:).Můžete předat NULL pro tento parametr, pokud je nutné písmeno jednotky.

  • dir
    Cesta k adresáři, včetně koncové lomítko.Předat lomítka ( / ), zpětná lomítka ( \ ), nebo obě použít.Můžete předat NULL pro tento parametr, pokud není nutné cestu k adresáři.

  • fname
    Základní název souboru (bez přípony).Můžete předat NULL pro tento parametr, pokud není nutné název souboru.

  • ext
    Přípona názvu souboru, včetně úvodní období (.).Můžete předat NULL pro tento parametr, pokud není nutné příponu názvu souboru.

Poznámky

_splitpath Funkce rozdělí na čtyři součásti cesty._splitpathautomaticky zpracovává argumenty řetězec vícebajtových znaků podle potřeby UZNÁVAJÍCE vícebajtové znakové sekvence podle vícebajtové znakové stránky právě používán._wsplitpathje verze celého znaku _splitpath; argumenty _wsplitpath jsou celý znak řetězce.Tyto funkce chovat stejně jinak.

Zabezpečení tyto funkce utrpět potenciální ohrožení způsobené problém přetečení vyrovnávací paměti.Přetečení vyrovnávací paměti problémy jsou používaný způsob útoku systému, výsledkem bylo zvýšení oprávnění.Další informace naleznete v tématu Vyhnout způsobí přetečení vyrovnávací paměti.Bezpečnější verze tyto funkce jsou k dispozici; Viz _splitpath_s, _wsplitpath_s.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tsplitpath

_splitpath

_splitpath

_wsplitpath

Každá součást úplné cesty jsou uloženy v samostatné vyrovnávací paměti; manifest konstanty _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, a _MAX_EXT (definováno v STDLIB.H) zadejte maximální velikost pro každou součást souboru.Soubor součásti, které jsou větší než odpovídající manifestu konstanty způsobit poškození haldy.

Každé vyrovnávací paměti musí být stejně velký jako konstantu manifestu odpovídající zabránit potenciální přetečení vyrovnávací paměti.

V následující tabulce jsou uvedeny hodnoty konstanty manifestu.

Název

Value

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

Pokud je úplná cesta neobsahuje součásti (například soubor), _splitpath přiřadí prázdné řetězce na odpovídající vyrovnávací paměti.

Můžete předat NULL na _splitpath parametru než path , není nutné.

Pokud path je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a vrátí funkce EINVAL.

Požadavky

Rutina

Požadované záhlaví

_splitpath

<stdlib.h>

_wsplitpath

<stdlib.h> nebo <wchar.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

Viz příklad pro _makepath.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Zpracování souborů

_fullpath _wfullpath

_getmbcp

_makepath _wmakepath

_setmbcp

_splitpath_s _wsplitpath_s