CFile::GetStatus

更新 : 2007 年 11 月

このメソッドは、指定された CFile オブジェクト インスタンスまたは指定されたファイル パスに関連したステータス情報を取得します。

BOOL GetStatus(
   CFileStatus& rStatus 
) const;
static BOOL PASCAL GetStatus(
   LPCTSTR lpszFileName,
   CFileStatus& rStatus 
);

パラメータ

  • rStatus
    ユーザーが指定した CFileStatus 構造体への参照。この構造体がステータス情報を受け取ります。CFileStatus 構造体には、次のフィールドがあります。

    • CTime m_ctime   ファイルの作成日時

    • CTime m_mtime   ファイルの最終変更日時

    • CTime m_atime   ファイルの最終読み取り日時

    • ULONGLONG m_size   DIR コマンドで出力されるファイルの論理サイズ (バイト単位)

    • BYTE m_attribute   ファイルの属性バイト

    • char m_szFullName [_MAX_PATH]   Windows 文字セットでのファイル名 (絶対パス)

  • lpszFileName
    目的のファイルへのパスを示す Windows 文字セットでの文字列。相対パスまたは絶対パスを指定できます。また、ネットワーク パス名を使用できます。

戻り値

指定したファイルのステータス情報を取得できた場合は TRUE を返します。それ以外の場合は FALSE を返します。

解説

非静的なバージョンの GetStatus は、指定された CFile オブジェクトに関連付けられていて開いているファイルのステータス情報を取得します。静的なバージョンの GetStatus は、実際にファイルを開くことなく、指定されたファイル パスからファイル ステータスを取得します。ファイルの存在やファイルへのアクセス権を調べるときに便利です。

CFileStatus 構造体の m_attribute メンバは、設定されているファイル属性を表します。CFile クラスには、ファイル属性を定数表現で指定できるように、Attribute という列挙型が定義されています。

enum Attribute {

normal = 0x00,

readOnly = 0x01,

hidden = 0x02,

system = 0x04,

volume = 0x08,

directory = 0x10,

archive = 0x20

};

使用例

CFile cfile;
cfile.Open(_T("SetLength_File.dat"), CFile::modeCreate |
   CFile::modeReadWrite);
ULONGLONG dwNewLength = 10000;
cfile.SetLength(dwNewLength);
CFileStatus status;
if(cfile.GetStatus(status))    // virtual member function
{
   TRACE(_T("File size = %u\n"), status.m_size);
}
TCHAR* pszFileName = _T("SetLength_File.dat");
if(CFile::GetStatus(pszFileName, status))   // static function
{
   TRACE(_T("Full file name = %s\n"), status.m_szFullName);
}

必要条件

ヘッダー : afx.h

参照

参照

CFile クラス

階層図

CFile::SetStatus

CTime クラス

その他の技術情報

CFile のメンバ