Aracılığıyla paylaş


_fullpath, _wfullpath

Belirtilen göreceli yol adı için bir mutlak ya da tam yol adını oluşturur.

char *_fullpath( 
   char *absPath,
   const char *relPath,
   size_t maxLength 
);
wchar_t *_wfullpath( 
   wchar_t *absPath,
   const wchar_t *relPath,
   size_t maxLength 
);

Parametreler

  • absPath
    Mutlak ya da tam yolunu içeren bir arabellek işaretçi null veya adı.

  • relPath
    Göreceli yol adı.

  • maxLength
    En büyük mutlak bir yol adı arabelleği uzunluğunu (absPath). Bu uzunluk bayt olan _fullpath ancak geniş karakterler (wchar_t) için _wfullpath.

Dönüş Değeri

Bu işlevlerden her biri mutlak yol adı içeren bir arabellek bir işaretçi döndürür (absPath). Bir hata varsa (örneğin, değeri de aktarılırsa relPath geçerli değil veya bulunamıyor, bir sürücü harfi içeren veya oluşturulan mutlak bir yol adı uzunluğu (absPath) büyüktür maxLength), işlevini verir NULL.

Notlar

_fullpath İşlevi genişletir göreli bir yol adı relPath tam olarak nitelenmiş ya da mutlak yolunu ve adını bu mağazalar absPath*.* absPath Null, malloc yol adını tutmak için yeterli uzunlukta bir arabellek ayırmak için kullanılır. Bu arabelleği serbest arayan sorumluluğundadır. Bir göreceli yol adı bir yolu geçerli konumundan başka bir konuma belirtir (gibi geçerli çalışma dizini: "."). Dosya sisteminin kök istenilen konumdan erişmek için gerekli tüm yolu bildiren bir göreceli yol adı genişlemesini bir mutlak yol adıdır. Aksine _makepath, _fullpath göreli yollar için mutlak yol adı elde etmek için kullanılan (relPath) içeren ". /"veya".../ "adlarında.

Örneğin, c çalışma zamanı yordamları kullanmak için uygulama yordamları için bildirimleri içeren üstbilgi dosyaları eklemeniz gerekir. Her üstbilgi dosyası göreli bir şekilde (gelen uygulamanın çalışma dizinini) dosyasının konumunu ifade başvuruları içerir:

#include <stdlib.h>

ne zaman dosyasının mutlak yolunu (gerçek bir dosya sistemi konumu) aşağıdaki gibi olabilir:

\\machine\shareName\msvcSrc\crt\headerFiles\stdlib.h

_fullpath ş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. _wfullpath geniş karakter sürümü _fullpath; dize bağımsız _wfullpath geniş karakter dizeleridir. _wfullpath ve _fullpath dışında aynı şekilde davranır _wfullpath çok baytlı karakter dizeleri işlemez.

_DEBUG Ve _CRTDBG_MAP_ALLOC tanımlanmış olan her iki çağrı _fullpath ve _wfullpath yapılan çağrılar tarafından değiştirilen _fullpath_dbg ve _wfullpath_dbg bellek ayırmalarını hata ayıklama için izin vermek. Daha fazla bilgi için bkz: _fullpath_dbg, _wfullpath_dbg.

Açıklandığı gibi bu işlevi geçersiz parametre işleyicisini çağırır Parametre doğrulama, maxlen 0 küçük veya eşit olur. Yürütülmesine devam etmek için izin verilmişse, bu işlevi ayarlar errno için EINVAL ve NULL.

Genel metin yordamı eşlemeleri

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tfullpath

_fullpath

_fullpath

_wfullpath

absPath Arabellek NULL, _fullpath çağrıları malloc arabellek yok sayar ve maxLength bağımsız değişkeni. Bu arabellek ayırması için arayanın sorumluluğu altındadır (kullanarak ücretsiz) uygun olarak. relPath Bağımsız değişkeni belirtir bir disk sürücüsü, bu sürücünün geçerli dizin yolu ile birleştirilir.

Gereksinimler

İşlev

Gerekli başlık

_fullpath

<stdlib.h>

_wfullpath

<stdlib.h> veya <wchar.h>

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

Örnek

// crt_fullpath.c
// This program demonstrates how _fullpath
// creates a full path from a partial path.
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <direct.h>

void PrintFullPath( char * partialPath )
{
   char full[_MAX_PATH];
   if( _fullpath( full, partialPath, _MAX_PATH ) != NULL )
      printf( "Full path is: %s\n", full );
   else
      printf( "Invalid path\n" );
}

int main( void )
{
   PrintFullPath( "test" );
   PrintFullPath( "\\test" );
   PrintFullPath( "..\\test" );
}
  

.NET Framework Eşdeğeri

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

Ayrıca bkz.

Başvuru

Dosya işleme

_getcwd, _wgetcwd

_getdcwd, _wgetdcwd

_makepath, _wmakepath

_splitpath, _wsplitpath