_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.