Aracılığıyla paylaş


_splitpath, _wsplitpath

Yol adı bileşenlerine bölün.Bu işlevlerin daha güvenli sürümleri mevcuttur, bkz. _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 
);

Parametreler

  • path
    Tam yolu.

  • drive
    Sürücü harfi, üste (:).Sizin geçirebilirsiniz NULL sürücü harfini gerekmiyorsa, bu parametre için.

  • dir
    Eğik içeren dizin yolu.İleri eğik çizgi ( / ), ters eğik çizgi ( \ ), veya her ikisi de kullanılabilir.Sizin geçirebilirsiniz NULL dizin yolunu gerekmiyorsa, bu parametre için.

  • fname
    Temel dosya adı (uzantısı yok).Sizin geçirebilirsiniz NULL dosya adı gerekmiyorsa, bu parametre için.

  • ext
    Dönem satır aralığı da dahil olmak üzere, dosya adı uzantısı (.).Sizin geçirebilirsiniz NULL dosya adı uzantısı gerekmiyorsa, bu parametre için.

Notlar

_splitpath İşlevi yol dört bileşenlerinin keser._splitpathçok baytlı karakter dizileri çok baytlı kod sayfası şu anda kullanımda göre tanımayı çok baytlı karakter dizesi bağımsız değişkenleri uygun şekilde otomatik olarak yönetir._wsplitpath geniş karakterli bir _splitpath sürümüdür; _wsplitpath ile ilgili işaretçi bağımsız değişkenler geniş karakterli dizelerdir.Bu işlevler, aksi halde aynı şekilde davranır.

Güvenlik Notu Bu işlevler bir arabellek taşması sorunu oluştuğunda potansiyel bir tehlike doğurur.Arabellek taşması sorunları, haksız ayrıcalık sistem saldırı, bir unwarranted ayrıcalık yükseltilmesi ile sonuçlanan sık kullanılan bir sistem saldırısı yöntemidir.Daha fazla bilgi için, bkz. Arabellek Taşmalarını Önleme.Bu işlevlerin daha güvenli sürümlerinde kullanılabilir; bkz: _splitpath_s, _wsplitpath_s.

Genel Metin Yordam Eşleşmeleri

TCHAR.H yordamı

_UNICODE & _MBCS tanımlanmamış

_MBCS tanımlanmış

_UNICODE tanımlanmış

_tsplitpath

_splitpath

_splitpath

_wsplitpath

Tam yolu her bileşeni ayrı bir arabellekte depolanır; bildirim sabitler _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, ve _MAX_EXT (STDLIB içinde tanımlanır.H) dosyası her bileşen için en büyük boyutu belirtin.İlgili bildirim sabitleri büyük dosya bileşenleri yığın bozulmasına neden.

Her arabellek olası arabellek taşmasından kaçınmak için karşılık gelen Bildirim sabiti olarak olması gerekir.

Aşağıdaki tablo, bildirim sabitler değerleri listeler.

Ad

Value

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

Tam yolu (örneğin, bir dosya adı), bir bileşen içermiyorsa, _splitpath boş dizeler için karşılık gelen arabellek atar.

Sizin geçirebilirsiniz NULL için _splitpath dışında herhangi bir parametre için path , gerek yoktur.

path öğesi NULL ise, Parametre Doğrulama içinde açıklandığı şekilde geçersiz parametre işleyicisi çağrılır.Yürütmenin devam etmesine izin verilirse, errno öğesi EINVAL olarak ayarlanır ve işlev EINVAL döndürür.

Gereksinimler

Yordam

Gerekli başlık

_splitpath

<stdlib.h>

_wsplitpath

<string.h> veya <wchar.h>

Ek uyumluluk bilgileri için Giriş altındaki Uyumluluk bölümüne bakın.

Örnek

Örnek için bkz: _makepath.

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Dosya İşleme

_fullpath, _wfullpath

_getmbcp

_makepath, _wmakepath

_setmbcp

_splitpath_s, _wsplitpath_s