Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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