ファイル情報を取得



[使用するメソッド]

    BOOL GetStatus( CFileStatus& rStatus );  //CFileで開いているファイル情報

    BOOL GetStatus( LPCTSTR lpszFileName, CFileStatus& rStatus );

[戻り値]

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

[CFileStatus 構造体]
CTime m_ctimeファイル作成日時
CTime m_mtimeファイル最終変更日時
CTime m_atimeファイル最終読み出しアクセス日時
LONG m_sizeDIR コマンドで出力されるファイルの論理サイズ
BYTE m_attributeファイルの属性バイト
char m_szFullName[_MAX_PATH]Windows 文字セットでの絶対パスファイル名
lpszFileName目的のファイルへのパスを保持する Windows 文字セットでの文字列を指定します。
相対パスまたは、絶対パスが指定できますが、ネットワーク名を持つことはできません。
m_attribute は、ファイル属性です。 MFC は、属性をシンボリックに示すために enum 型の属性を提供しています。 enum Attribute { normal = 0x00, readOnly = 0x01, hidden = 0x02, system = 0x04, volume = 0x08, directory = 0x10, archive = 0x20 }; 【サンプル・ソース】 void CGetfstatusDlg::OnButton1() { CFileStatus FStatus; //ファイルの情報 CString FPath; //ファイルのパス CString strRet; char buffer[128]; CString strBuf; CEdit* myEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1); myEdit1->GetWindowText(FPath); //--------------------------------------- //ファイル情報を取得する CFile::GetStatus(FPath, FStatus); //結果出力 ltoa(FStatus.m_size, buffer, 10); strBuf = buffer; strRet = "作成時間 : " + FStatus.m_ctime.Format("yyyy/mm/dd hh:ss") + "\n" + "最終アクセス時間 : " + FStatus.m_atime.Format("yyyy/mm/dd hh:ss") + "\n" + "最終更新時間 : " + FStatus.m_mtime.Format("yyyy/mm/dd hh:ss") + "\n" + "サイズ(byte) : " + strBuf; AfxMessageBox(strRet); }