Megosztás a következőn keresztül:


_splitpath, _wsplitpath

Az elérési utat bontsa össze az összetevőkkel. A függvények biztonságosabb verzióit a következő _splitpath_stémakörben tekinti meg_wsplitpath_s: .

Szemantika

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
);

Paraméterek

path
Teljes elérési út.

drive
Meghajtóbetűjel, majd kettőspont (:). Ezt a paramétert akkor adja át NULL , ha nincs szüksége a meghajtóbetűjelre.

dir
Könyvtár elérési útja, beleértve a záró perjelet is. Perjelek (/), fordított perjelek (\) vagy mindkettő használhatók. Adja meg NULL ezt a paramétert, ha nincs szüksége a címtár elérési útjára.

fname
Alapfájlnév (nincs kiterjesztés). Adja meg NULL ezt a paramétert, ha nincs szüksége a fájlnévre.

ext
Fájlnévkiterjesztés, beleértve a kezdő időszakot (.). Adja meg NULL ezt a paramétert, ha nincs szüksége a fájlnévkiterjesztésre.

Megjegyzések

A _splitpath függvény a négy összetevőre bontja az elérési utat. _splitpath automatikusan kezeli a többbájtos sztringargumentumokat, a jelenleg használt többbájtos kódlapnak megfelelően felismerve a többbájtos karaktersorozatokat. _wsplitpath _splitpatha (z) ; az argumentumok _wsplitpath széles karakterű sztringek. Ezek a függvények egyébként ugyanúgy viselkednek.

Biztonsági megjegyzés Ezek a függvények puffertúllépésnek vannak kitéve. A puffertúlcsordulási problémák gyakori módszere a rendszertámadásnak, ami jogosulatlan jogosultságszint-emelést eredményez. További információ: Puffertúllépések elkerülése. A függvények biztonságosabb verziói érhetők el; lásd :_splitpath_s_wsplitpath_s .

Alapértelmezés szerint ennek a függvénynek a globális állapota hatóköre az alkalmazásra terjed ki. A viselkedés módosításához tekintse meg a globális állapotot a CRT-ben.

Általános szöveges rutinleképezések

TCHAR.H rutin _UNICODE és _MBCS nincs definiálva _MBCS Meghatározott _UNICODE Meghatározott
_tsplitpath _splitpath _splitpath _wsplitpath

A teljes elérési út minden összetevője külön pufferben van tárolva; a jegyzékállandók _MAX_DRIVE, _MAX_DIR, _MAX_FNAMEés _MAX_EXT (definiálva STDLIB.H) az egyes fájlösszetevők maximális méretét határozzák meg. A megfelelő jegyzékállandóknál nagyobb fájlösszetevők halomsérülést okoznak.

Minden puffernek a megfelelő jegyzékállandójával megegyező méretűnek kell lennie a puffer esetleges túlfutásának elkerülése érdekében.

Az alábbi táblázat a jegyzékállandók értékeit sorolja fel.

Név Érték
_MAX_DRIVE 3
_MAX_DIR 256
_MAX_FNAME 256
_MAX_EXT 256

Ha a teljes elérési út nem tartalmaz összetevőt (például fájlnevet), _splitpath üres sztringeket rendel a megfelelő pufferekhez.

A szükségtelen paramétereken kívül NULL más paraméterekre is átadhatja azokat._splitpathpath

Ha pathNULL, a rendszer meghívja az érvénytelen paraméterkezelőt a paraméterérvényesítési. Ha a végrehajtás folytatva van, errno a beállítás értéke .EINVAL

Követelmények

Rutin Kötelező fejléc
_splitpath <stdlib.h>
_wsplitpath <stdlib.h> vagy <wchar.h>

További kompatibilitási információkért lásd: Kompatibilitás.

példa

Lásd a példát a _makepath.

Lásd még

Fájlkezelés
_fullpath, _wfullpath
_getmbcp
_makepath, _wmakepath
_setmbcp
_splitpath_s, _wsplitpath_s