Udostępnij za pośrednictwem


_splitpath, _wsplitpath

Nazwa ścieżki należy podzielić na składniki.Bezpieczniejsze wersje te funkcje są dostępne, zobacz _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
    Pełna ścieżka.

  • drive
    Drive litera, po której następuje dwukropek (:).Można przekazać NULL dla tego parametru, jeśli nie potrzebujesz literę dysku.

  • dir
    Ścieżka katalogu, w tym kreskę ułamkową odwróconą.Przesyła ukośniki ( / ), ukośników odwrotnych ( \ ), lub mogą być używane.Można przekazać NULL dla tego parametru, jeśli nie potrzebujesz ścieżki katalogu.

  • fname
    Nazwa podstawowej (bez rozszerzenia).Można przekazać NULL dla tego parametru, jeśli nie potrzebujesz nazwę pliku.

  • ext
    Rozszerzenie nazwy pliku, łącznie z okresu prowadzące (.).Można przekazać NULL dla tego parametru, jeśli nie potrzebujesz rozszerzenie nazwy pliku.

Uwagi

_splitpath Funkcja dzieli ścieżkę, na jego cztery składniki._splitpathautomatycznie obsługuje argumentów łańcuch znaków wielobajtowych, odpowiednio, uznając sekwencje znaków wielobajtowych, zgodnie z obecnie używanej strony kodowej wielobajtowych._wsplitpathjest to wersja szerokich znaków _splitpath; argumenty do _wsplitpath są ciągami szerokich znaków.Te funkcje działają identycznie inaczej.

Uwaga zabezpieczeń funkcje te ponoszą potencjalnym zagrożeniem spowodowanym problem przepełnienia buforu.Przepełnienie buforu problemy są często metodą ataku systemu, wynikającej z nieuzasadnionego podniesienie uprawnień w.Aby uzyskać więcej informacji, zobacz Overruns buforu unikanie.Bezpieczniejsze wersje te funkcje są dostępne; zobacz _splitpath_s, _wsplitpath_s.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tsplitpath

_splitpath

_splitpath

_wsplitpath

Każdy składnik Pełna ścieżka jest przechowywany w oddzielnych buforu; stałe manifestu _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, i _MAX_EXT (zdefiniowaną w STDLIB.H) określ rozmiar maksymalny dla każdego składnika pliku.Składniki pliku, które są większe niż odpowiadające im stałe manifestu spowodować uszkodzenie sterty.

Bufor każdego musi być tak duży, jak odpowiadające im stałą manifestu do uniknięcia potencjalnych przepełnienie buforu.

Poniższa lista zawiera wartości stałych manifestu.

Nazwa

Wartość

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

Jeśli pełna ścieżka zawiera składnik (na przykład nazwa pliku), _splitpath przypisuje puste ciągi do odpowiedniego buforów.

Można przekazać NULL do _splitpath dla każdego parametru, innych niż path , że nie ma potrzeby.

Jeśli path jest NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca EINVAL.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_splitpath

<stdlib.h>

_wsplitpath

<stdlib.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Zobacz przykład dla _makepath.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Obsługa plików

_fullpath, _wfullpath

_getmbcp

_makepath, _wmakepath

_setmbcp

_splitpath_s, _wsplitpath_s