_stat, _wstat İşlevleri

Dosya durumu bilgilerini alın.

int _stat(
   const char *path,
   struct _stat *buffer 
);
int _stat32(
   const char *path,
   struct __stat32 *buffer 
);
int _stat64(
   const char *path,
   struct __stat64 *buffer 
);
int _stati64(
   const char *path,
   struct _stati64 *buffer 
);
int _stat32i64(str
   const char *path,
   struct _stat32i64 *buffer 
);
int _stat64i32(str
   const char *path,
   struct _stat64i32 *buffer 
);
int _wstat(
   const wchar_t *path,
   struct _stat *buffer 
);
int _wstat32(
   const wchar_t *path,
   struct __stat32 *buffer 
);
int _wstat64(
   const wchar_t *path,
   struct __stat64 *buffer 
);
int _wstati64(
   const wchar_t *path,
   struct _stati64 *buffer 
);
int _wstat32i64(
   const wchar_t *path,
   struct _stat32i64 *buffer 
);
int _wstat64i32(
   const wchar_t *path,
   struct _stat64i32 *buffer 
);

Parametreler

  • path
    Varolan dosya veya dizin yolunu içeren bir dize işaretçisi.

  • buffer
    Sonuçları depolar yapısı için işaretçi.

Dönüş Değeri

Dosya durumu bilgilerini aldıysanız Bu işlevlerden her biri 0 değerini döndürür.–1 Dönüş değeri, bu durumda bir hata gösterir errno ayarlamak ENOENT, dosya adı veya yolu bulunamadı olduğunu gösteren.Dönüş değeri EINVAL geçersiz bir parametre; gösterir errnoAyrıca ayarlamak EINVAL bu durumda.

[!NOT]

path Konumunu içeren bir dizin, bir ters eğik çizgi içeremez.Bulursa, -1 döndürülür ve errno ayarlanacak ENOENT.

Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer ilgili daha fazla bilgi için kodları dönün.

Kullandığınız sürece sonraki gece, 1 Ocak 1970'den ve 23: 59: 59, 31 Aralık 3000 utc, önce ise, bir dosyanın tarih damgası temsil _stat32 veya _wstat32, ya da tanımladığınız _USE_32BIT_TIME_T, yalnızca 03: 14: 07 kadar 19 Ocak 2038 utc Tarih durumda gösterilebilir.

Notlar

_stat İşlevi tarafından belirtilen dizin ya da dosya hakkında bilgi edinir path göre sıralanmasını yapısında saklar ve buffer._statş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.

_wstatgeniş karakter sürümü _stat; path bağımsız değişkeni _wstat bir geniş karakter dizesidir._wstatve _stat dışında aynı şekilde davranır _wstat çok baytlı karakter dizeleri işlemez.

Bu fonksiyonlar çeşitlemelerin 32 veya 64 bit saat türleri ve 32 veya 64 bit dosya uzunluklarını destekler.İlk sayısal sonek (32 veya 64) kullanılan; zaman yazı tipi boyutu gösterir İkinci soneki olması i32 veya i64, belirten dosya boyutu 32-bit veya 64-bit bir tamsayı olarak temsil edilir.

_stateşittir _stat64i32, ve struct_stat 64-bit saati içerir.Bu doğrudur sürece _USE_32BIT_TIME_T , bu durumda eski davranışı; yürürlükte tanımlanır _statbir 32-bit süre kullanır ve struct_stat 32-bit saati içerir.Aynı durum _stati64.

[!NOT]

_wstatçalışmıyor Windows Vista sembolik bağlantılar.Bu durumda, _wstat her zaman 0 dosya boyutunu rapor eder._statSimgesel bağlantılar ile düzgün çalışır.

Bu işlev parametreleri doğrular.path Veya buffer olan NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.

Saat türü ve dosya uzunluğu türü _stat çeşidi

İşlevler

Tanımlanan _USE_32BIT_TIME_T?

Saat türü

Dosya uzunluğu türü

_stat, _wstat

Tanımlı değil

64 bit

32 bit

_stat, _wstat

Tanımlanmış

32 bit

32 bit

_stat32, _wstat32

Makro tanımına göre etkilenmez

32 bit

32 bit

_stat64, _wstat64

Makro tanımına göre etkilenmez

64 bit

64 bit

_stati64, _wstati64

Tanımlı değil

64 bit

64 bit

_stati64, _wstati64

Tanımlanmış

32 bit

64 bit

_stat32i64, _wstat32i64

Makro tanımına göre etkilenmez

32 bit

64 bit

_stat64i32, _wstat64i32

Makro tanımına göre etkilenmez

64 bit

32 bit

Genel metin yordamı eşlemeleri

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tstat

_stat

_stat

_wstat

_tstat64

_stat64

_stat64

_wstat64

_tstati64

_stati64

_stati64

_wstati64

_tstat32i64

_stat32i64

_stat32i64

_wstat32i64

_tstat64i32

_stat64i32

_stat64i32

_wstat64i32

_stat sys\stat içinde tanımlanan yapı.H, aşağıdaki alanları içerir.

  • st_gid
    Bu alan dosya (UNIX özgü) sahibi olan grubun sayısal bir tanımlayıcı, her zaman Windows sistemlerinde sıfır olacak.Yönlendirilen bir Windows dosyası olarak sınıflandırılır.

  • st_atime
    Dosyanın son erişim saati.Geçerli ntfs ancak değil üzerinde fat disk sürücüsüne biçimlendirilmiş.

  • st_ctime
    Dosyanın oluşturulma saati.Geçerli ntfs ancak değil üzerinde fat disk sürücüsüne biçimlendirilmiş.

  • st_dev
    Sürücü dosyasını içeren disketi sayısı (aynı st_rdev).

  • st_ino
    Bilgi düğüm sayısı ( inode) (UNIX özgü) dosyası için.UNIX dosya sistemlerinde, inode dosya tarih ve zaman damgaları, izinleri ve içeriği açıklar.Dosyaları sabit birbirine bağlı olduğunda, aynı paylaştıkları inode.inodeVe bu nedenle st_ino, fat, hpfs ve ntfs dosya sistemleri bir anlamı yoktur.

  • st_mode
    Dosya modu bilgi bit maskesi._S_IFDIR Bit ayarlanmışsa path bir dizin; belirtir _S_IFREG bit ayarlanmışsa path sıradan bir dosya veya bir aygıtı belirtir.Kullanıcı okuma/yazma BITS dosyanın izin modunu göre ayarlanır; Kullanıcı yürütme bit dosya adı uzantısına göre ayarlanır.

  • st_mtime
    Dosyanın son değişikliğin yapıldığı saat.

  • st_nlink
    Her zaman 1 NTFS olmayan dosya sistemleri.

  • st_rdev
    Sürücü dosyasını içeren disketi sayısı (aynı st_dev).

  • st_size
    Dosyanın bayt cinsinden boyutu; 64-bit bir tamsayı değişimleri için i64 son**.**

  • st_uid
    Dosya (UNIX özgü) sahibi olan kullanıcının sayısal bir tanımlayıcı.Bu alan, her zaman Windows sistemlerinde sıfır olacak.Yönlendirilen bir Windows dosyası olarak sınıflandırılır.

path Bir aygıt için başvuruda st_size, çeşitli saat alanları, st_dev, ve st_rdev bulunan alanları _stat yapısı anlamsız.Çünkü stat.H kullanır _dev_t içinde tanımlanan TÜRLERİ yani yazın.H, TÜRLERİ dahil etmeniz gerekir.H stat önce.H kodunuzda.

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı üstbilgileri

_stat, _stat32, _stat64, _stati64, _stat32i64, _stat64i32

<sys/types.h> <sys/stat.h> tarafından izlenen

<errno.h>

_wstat, _wstat32, _wstat64, _wstati64, _wstat32i64, _wstat64i32

<sys/types.h> <sys/stat.h> tarafından izlenen veya <wchar.h>

<errno.h>

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

Örnek

// crt_stat.c
// This program uses the _stat function to
// report information about the file named crt_stat.c.
 
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
   struct _stat buf;
   int result;
   char timebuf[26];
   char* filename = "crt_stat.c";
   errno_t err;

   // Get data associated with "crt_stat.c": 
   result = _stat( filename, &buf );

   // Check if statistics are valid: 
   if( result != 0 )
   {
      perror( "Problem getting information" );
      switch (errno)
      {
         case ENOENT:
           printf("File %s not found.\n", filename);
           break;
         case EINVAL:
           printf("Invalid parameter to _stat.\n");
           break;
         default:
           /* Should never be reached. */
           printf("Unexpected error in _stat.\n");
      }
   }
   else
   {
      // Output some of the statistics: 
      printf( "File size     : %ld\n", buf.st_size );
      printf( "Drive         : %c:\n", buf.st_dev + 'A' );
      err = ctime_s(timebuf, 26, &buf.st_mtime);
      if (err)
      {
         printf("Invalid arguments to ctime_s.");
         exit(1);
      }
      printf( "Time modified : %s", timebuf );
   }
}
  

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Dosya İşleme

_access, _waccess

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_getmbcp

_setmbcp