エクスポート (0) 印刷
すべて展開
_scprintf、_scwprintf
_vscprintf、_vscwprintf
展開 最小化

_stat、_stat64、_stati64、_wstat、_wstat64、_wstati64

Visual Studio .NET 2003

ファイルのステータス情報を取得します。

int _stat(
   const char *path,
   struct _stat *buffer 
);
int _stat64(
   const char *path,
   struct __stat64 *buffer 
);
int _stati64(
   const char *path,
   struct _stati64 *buffer 
);
int _wstat(
   const wchar_t *path,
   struct _stat *buffer 
);
int _wstat64(
   const wchar_t *path,
   struct __stat64 *buffer 
);
int _wstati64(
   const wchar_t *path,
   struct _stati64 *buffer 
);

パラメータ

path
既存ファイルのパスを含む文字列へのポインタ。
buffer
結果を格納する構造体へのポインタ。

戻り値

これらの関数は、ファイルのステータス情報を取得すると 0 を返します。エラーが発生すると -1 を返し、グローバル変数 errno に、ファイル名またはパスが見つからないことを示す ENOENT を設定します。

戻り値の詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

これらの関数は、世界協定時刻 (UTC: Coordinated Universal Time) の 1970 年 1 月 1 日 0 時より後で 2038 年 1 月 18 日 19 時 14 分 07 秒より前の場合、日付スタンプを表示できます。ただし、_stat64 関数または _wstat64 関数を使用する場合は、世界協定時刻の 3000 年 12 月 31 日 23 時 59 分 59 秒までの日付スタンプを表示できます。

解説

_stat 関数は、path で指定したファイルまたはディレクトリの情報を取得し、buffer が指す構造体に格納します。_stat 関数は、現在使用中のマルチバイト コード ページに基づいてマルチバイト文字のシーケンスを認識し、マルチバイト文字列引数を適切に処理します。

_wstat 関数は _stat 関数のワイド文字バージョンであり、_wstat 関数の引数 path はワイド文字列です。_wstat 関数がマルチバイト文字列を処理しない点以外は、_wstat 関数と _stat 関数の動作は同じです。

ジェネリック テキスト ルーチンの割り当て

TCHAR.H のルーチン _UNICODE および _MBCS が未定義の場合 _MBCS が定義されている場合 _UNICODE が定義されている場合
_tstat _stat _stat _wstat
_tstat64 _stat64 _stat64 _wstat64
_tstati64 _stati64 _stati64 _wstati64

SYS\STAT.H で定義されている _stat 構造体には、次のフィールドが含まれています。

st_gid
ファイルを所有するグループの数値識別子 (UNIX 固有)。このフィールドは、Windows NT システムでは常に 0 になります。リダイレクトされるファイルは、Windows NT ファイルとして分類されます。
st_atime
ファイルが最後にアクセスされた時刻。NTFS では有効ですが、FAT フォーマットのディスク ドライブでは無効です。FAT フォーマットのディスク ドライブでは st_mtime と同じ時刻を示します。
st_ctime
ファイルが作成された時刻。NTFS では有効ですが、FAT フォーマットのディスク ドライブでは無効です。
st_dev
ファイルが格納されているディスクのドライブ番号 (st_rdev と同じ)。
st_ino
ファイルの情報ノード番号 (inode、UNIX 固有)。UNIX ファイル システムでは、inode によって、ファイルの日付と時刻のスタンプ、アクセス許可、および内容が記述されます。相互にハード リンクされたファイルは、同じ inode を共有します。inode および st_ino は、FAT、HPFS、または NTFS の各ファイル システムでは意味を持ちません。
st_mode
ファイル モード情報を示すビット マスク。path でディレクトリを指定すると、_S_IFDIR ビットが設定されます。path で通常のファイルまたはデバイスを指定すると、_S_IFREG ビットが設定されます。ユーザー読み取り/書き込みビットはファイルのアクセス権に従って設定され、ユーザー実行ビットはファイル名の拡張子に従って設定されます。
st_mtime
ファイルが最後に変更された時刻。
st_nlink
NTFS 以外のファイル システムの場合は常に 1。
st_rdev
ファイルが格納されているディスクのドライブ番号 (st_dev と同じ)。
st_size
バイトで表したファイルのサイズ。_stati64 および _wstati64 の場合は 64 ビット整数です。
st_uid
ファイルを所有するユーザーの数値識別子 (UNIX 固有)。このフィールドは、Windows NT システムでは常に 0 になります。リダイレクトされるファイルは、Windows NT ファイルとして分類されます。

path がデバイスを指す場合、_stat 構造体の時刻フィールドと st_sizest_devst_rdev の各フィールドは意味を持ちません。STAT.H は TYPES.H で定義されている _dev_t 型を使用するため、コードでは STAT.H の前に TYPES.H をインクルードする必要があります。

必要条件

ルーチン 必須ヘッダー 省略可能なヘッダー 互換性
_stat <sys/types.h> に続けて <sys/stat.h> <errno.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_stat64 <sys/types.h> に続けて <sys/stat.h> <errno.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_stati64 <sys/types.h> に続けて <sys/stat.h> <errno.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_wstat <sys/types.h> に続けて <sys/stat.h> または <wchar.h> <errno.h> Win NT、Win 2000、Win XP
_wstat64 <sys/types.h> に続けて <sys/stat.h> または <wchar.h> <errno.h> Win NT、Win 2000、Win XP
_wstati64 <sys/types.h> に続けて <sys/stat.h> または <wchar.h> <errno.h> Win NT、Win 2000、Win XP

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

// crt_stat.c
/* This program uses the _stat64 function to
 * report information about the file named stat.c.
 */

#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>

int main( void )
{
   struct __stat64 buf;
   int result;

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

   /* Check if statistics are valid: */
   if( result != 0 )
      perror( "Problem getting information" );
   else
   {
      /* Output some of the statistics: */
      printf( "File size     : %ld\n", buf.st_size );
      printf( "Drive         : %c:\n", buf.st_dev + 'A' );
      printf( "Time modified : %s", _ctime64( &buf.st_mtime ) );
   }
}

出力例

File size     : 732
Drive         : C:
Time modified : Thu Feb 07 14:39:36 2002

参照

ファイル処理 | _access | _fstat | _getmbcp | _setmbcp | ランタイム ルーチンおよび同等の .NET Framework 関数

表示:
© 2014 Microsoft