Aracılığıyla paylaş


_splitpath, _wsplitpath

Yol adı bileşenlerine bölün. Bu işlevler daha güvenli sürümleri yüklenebilir, 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, üst üste işaretiyle (:). Geçirebilirsiniz NULL sürücü harfini gerekmiyorsa, bu parametre için.

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

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

  • ext
    Dönem başında da dahil olmak üzere, dosya adı uzantısı (.). Geçirebilirsiniz NULL dosya adı uzantısı gerekmiyorsa, bu parametre için.

Notlar

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

Güvenlik Notu bu işlevler duruma bir arabellek taşması sorunu bir tehdidin tabi. Arabellek Taşması sorunları unwarranted bir ayrıcalık ortaya çıkan sistem saldırı sık kullanılan bir yöntemdir. Daha fazla bilgi için bkz: Önleme arabelleğin taşmasına neden. Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; Bkz: _splitpath_s, _wsplitpath_s.

Genel metin yordamı eşlemeleri

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_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'de tanımlanmıştır.h) her dosya 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 ilgili bildirim sabiti olarak daha büyük olması gerekir.

Bildirim sabitler değerleri aşağıdaki tabloda listelenmektedir.

Ad

Value

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

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

Geçirebilirsiniz NULL için _splitpath dışında herhangi bir parametre için path gereksinim.

path Olan NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilip verilmediğini errno ayarlamak EINVAL işlevini verir ve EINVAL.

Gereksinimler

Yordamı

Gerekli başlık

_splitpath

<stdlib.h>

_wsplitpath

<stdlib.h> veya <wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

Örnek için bkz: _makepath.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Dosya işleme

_fullpath, _wfullpath

_getmbcp

_makepath, _wmakepath

_setmbcp

_splitpath_s, _wsplitpath_s