Aracılığıyla paylaş


_makepath, _wmakepath

Yol adı bileşenlerini oluşturmak.Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; see _makepath_s, _wmakepath_s.

void _makepath(
   char *path,
   const char *drive,
   const char *dir,
   const char *fname,
   const char *ext 
);
void _wmakepath(
   wchar_t *path,
   const wchar_t *drive,
   const wchar_t *dir,
   const wchar_t *fname,
   const wchar_t *ext 
);

Parametreler

  • path
    Tam yol arabellek.

  • drive
    Bir harf (a, b vb.) içeren istediğiniz sürücüyü ve isteğe bağlı sonunda iki nokta karşılık gelen._makepatheksik ise, iki nokta üst üste bileşik yolun otomatik olarak ekler.drive Olan NULL veya boş bir dize için sürücü harfi puntoda bileşik path dize.

  • dir
    Sürücü göstergesi ya da gerçek bir dosya adı içermeyen dizin yolunu içerir.Eğik isteğe bağlıdır ve eğik çizgi (/) veya ters eğik çizgi (\) veya her ikisini tek bir kullanılabilir dir bağımsız değişkeni.Eğik çizgiye yok ise (/ veya \) belirtilmişse, otomatik olarak eklenir.dir Olan NULL veya boş bir dize, hiçbir dizin yolu noktalara bileşik eklenen path dize.

  • fname
    Herhangi bir dosya adı uzantıları olmadan temel dosya adı içeriyor.fname Olan NULL ya da dosya adı boş bir dize noktalara bileşik eklenen path dize.

  • ext
    Gerçek dosya adı uzantısı olan veya nokta (.) koymadan içerir._makepathDönem içinde görüntülenmezse, otomatik olarak ekler ext.ext Olan NULL veya boş bir dize, hiçbir uzantı noktalara bileşik eklenen path dize.

Notlar

_makepath İşlev sonucu depolamak bağımsız bileşenlerden bir bileşik yol dizesi oluşturur path.path Bir sürücü harfini, dizin yolu, dosya adı ve dosya adı uzantısı içerebilir._wmakepathgeniş karakter sürümü _makepath; bağımsız _wmakepath geniş karakter dizeleridir._wmakepathve _makepath Aksi takdirde aynı şekilde davranır.

Güvenlik Notu boş sonlandırılmış bir dizeyi kullanın.Arabellek Taşması kaçınmak için boş sonlandırılmış dize boyutunu aşmamalıdır path arabellek._makepathBileşik yolu dize uzunluğunu değil aşan olun _MAX_PATH.Daha fazla bilgi için bkz: Önleme arabelleğin taşmasına neden.

Genel metin yordamı eşlemeleri

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tmakepath

_makepath

_makepath

_wmakepath

path Bağımsız değişkeni, bir boş arabellek için tam yolunu tutacak büyüklükte göstermelidir.Bileşik path değerinden daha büyük olması _MAX_PATH sabiti, Stdlib.h içinde tanımlanan.

Yol, NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Buna ek olarak, errno ayarlamak EINVAL.NULLtüm diğer parametreler için izin verilen değerler.

Gereksinimler

Yordamı

Gerekli başlık

_makepath

<stdlib.h>

_wmakepath

<stdlib.h> veya <wchar.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_makepath.c
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   char path_buffer[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];

   _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" ); // C4996
   // Note: _makepath is deprecated; consider using _makepath_s instead
   printf( "Path created with _makepath: %s\n\n", path_buffer );
   _splitpath( path_buffer, drive, dir, fname, ext ); // C4996
   // Note: _splitpath is deprecated; consider using _splitpath_s instead
   printf( "Path extracted with _splitpath:\n" );
   printf( "  Drive: %s\n", drive );
   printf( "  Dir: %s\n", dir );
   printf( "  Filename: %s\n", fname );
   printf( "  Ext: %s\n", ext );
}
  

.NET Framework Eşdeğeri

System::IO::file:: oluşturma

Ayrıca bkz.

Başvuru

Dosya İşleme

_fullpath, _wfullpath

_splitpath, _wsplitpath

_makepath_s, _wmakepath_s