CFileFind
クラス
ローカル ファイル検索を実行し、インターネット ファイル検索を CGopherFileFind
実行する基底クラスおよび CFtpFileFind
基本クラスです。
構文
class CFileFind : public CObject
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CFileFind::CFileFind |
CFileFind オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CFileFind::Close |
検索要求を閉じます。 |
CFileFind::FindFile |
ディレクトリで指定したファイル名を検索します。 |
CFileFind::FindNextFile |
前の呼び出しからファイル検索を続行します FindFile 。 |
CFileFind::GetCreationTime |
ファイルが作成された時刻を取得します。 |
CFileFind::GetFileName |
見つかったファイルの拡張子を含む名前を取得します。 |
CFileFind::GetFilePath |
見つかったファイルのパス全体を取得します。 |
CFileFind::GetFileTitle |
見つかったファイルのタイトルを取得します。 タイトルには拡張機能は含まれません。 |
CFileFind::GetFileURL |
見つかったファイルの URL (ファイル パスを含む) を取得します。 |
CFileFind::GetLastAccessTime |
ファイルが最後にアクセスされた時刻を取得します。 |
CFileFind::GetLastWriteTime |
ファイルが最後に変更されて保存された時刻を取得します。 |
CFileFind::GetLength |
見つかったファイルの長さをバイト単位で取得します。 |
CFileFind::GetRoot |
見つかったファイルのルート ディレクトリを取得します。 |
CFileFind::IsArchived |
見つかったファイルがアーカイブされているかどうかを判断します。 |
CFileFind::IsCompressed |
見つかったファイルが圧縮されているかどうかを判断します。 |
CFileFind::IsDirectory |
見つかったファイルがディレクトリであるかどうかを判断します。 |
CFileFind::IsDots |
見つかったファイルの名前に "." または ".." という名前があるかどうかを判断します。これは、実際にディレクトリであることを示します。 |
CFileFind::IsHidden |
見つかったファイルが非表示かどうかを判断します。 |
CFileFind::IsNormal |
見つかったファイルが正常かどうかを判断します (つまり、他の属性はありません)。 |
CFileFind::IsReadOnly |
見つかったファイルが読み取り専用かどうかを判断します。 |
CFileFind::IsSystem |
見つかったファイルがシステム ファイルかどうかを判断します。 |
CFileFind::IsTemporary |
見つかったファイルが一時的であるかどうかを判断します。 |
CFileFind::MatchesMask |
見つかるファイルの目的のファイル属性を示します。 |
保護メソッド
名前 | 説明 |
---|---|
CFileFind::CloseContext |
現在の検索ハンドルで指定されたファイルを閉じます。 |
プロテクト データ メンバー
名前 | 説明 |
---|---|
CFileFind::m_pTM |
CAtlTransactionManager オブジェクトを指すポインター。 |
解説
CFileFind
には、検索を開始し、ファイルを検索し、ファイルのタイトル、名前、またはパスを返すメンバー関数が含まれています。 インターネット検索の場合、メンバー関数 GetFileURL
はファイルの URL を返します。
CFileFind
は、特定のサーバーの種類 CGopherFileFind
を検索するように設計された他の 2 つの MFC クラスの基本クラスです。特に gopher サーバーで動作し CFtpFileFind
、FTP サーバーで特に機能します。 これら 3 つのクラスを組み合わせることで、ローカル コンピューターまたはリモート サーバー上のサーバー プロトコル、ファイルの種類、場所に関係なく、クライアントがファイルを検索するためのシームレスなメカニズムが提供されます。
次のコードは、現在のディレクトリ内のすべてのファイルを列挙し、各ファイルの名前を出力します。
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
この例をシンプルにするために、このコードでは C++ 標準ライブラリ cout
クラスを使用します。 この行は cout
、たとえば、グラフィカル ユーザー インターフェイスを使用する CListBox::AddString
プログラムでの呼び出しに置き換えることができます。
使用方法とその他の WinInet クラスの詳細については、WinInet を使用CFileFind
したインターネット プログラミングに関する記事を参照してください。
継承階層
CFileFind
必要条件
ヘッダー:afx.h
CFileFind::CFileFind
このメンバー関数は、オブジェクトが CFileFind
構築されるときに呼び出されます。
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
パラメーター
pTM
CAtlTransactionManager オブジェクトへのポインター。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::Close
このメンバー関数を呼び出して検索を終了し、コンテキストをリセットし、すべてのリソースを解放します。
void Close();
解説
呼び出し後、新しい検索を開始するために呼び出Close
すFindFile
前に新CFileFind
しいインスタンスを作成する必要はありません。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::CloseContext
現在の検索ハンドルで指定されたファイルを閉じます。
virtual void CloseContext();
解説
検索ハンドルの現在の値で指定されたファイルを閉じます。 既定の動作を変更するには、この関数をオーバーライドします。
有効な検索ハンドルを取得するには、 FindFile
少なくとも 1 回は FindNextFile
関数を呼び出す必要があります。 およびFindNextFile
関数はFindFile
、検索ハンドルを使用して、指定された名前と一致する名前のファイルを検索します。
CFileFind::FindFile
ファイル検索を開くには、このメンバー関数を呼び出します。
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
パラメーター
pstrName
検索するファイルの名前を含む文字列へのポインター。 渡NULL
pstrName
した場合、FindFile
野生のカード (*.*) 検索が実行されます。
dwUnused
派生クラスでポリモーフィックにするために FindFile
予約されています。 0 を指定する必要があります。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 拡張エラー情報を取得するには、Win32 関数 GetLastError
を呼び出します。
解説
呼び出して FindFile
ファイル検索を開始した後、呼び出 FindNextFile
して後続のファイルを取得します。 次のいずれかの属性メンバー関数を呼び出 FindNextFile
す前に、少なくとも 1 回呼び出す必要があります。
例
CFileFind::IsDirectory
の例を参照してください。
CFileFind::FindNextFile
前の呼び出しからファイル検索を続行するには、このメンバー関数を呼び出します FindFile
。
virtual BOOL FindNextFile();
戻り値
その他のファイルがある場合は 0 以外。見つかったファイルがディレクトリ内の最後のファイルであるか、エラーが発生した場合は 0。 拡張エラー情報を取得するには、Win32 関数 GetLastError
を呼び出します。 見つかったファイルがディレクトリ内の最後のファイルである場合、または一致するファイルが見つからない場合、GetLastError
関数は .ERROR_NO_MORE_FILES
解説
次のいずれかの属性メンバー関数を呼び出 FindNextFile
す前に、少なくとも 1 回呼び出す必要があります。
FindNextFile
によって Win32 FindNextFile
関数がラップされます。
例
CFileFind::IsDirectory
の例を参照してください。
CFileFind::GetCreationTime
指定したファイルが作成された時刻を取得するには、このメンバー関数を呼び出します。
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
パラメーター
pTimeStamp
ファイルが FILETIME
作成された時刻を含む構造体へのポインター。
refTime
CTime
オブジェクトへの参照です。
戻り値
成功した場合は 0 以外。失敗した場合は 0。 GetCreationTime
は、このCFileFind
オブジェクトで呼び出されたことがない場合FindNextFile
にのみ 0 を返します。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetCreationTime
必要があります。
Note
すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA
構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime
API を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::GetFileName
このメンバー関数を呼び出して、見つかったファイルの名前を取得します。
virtual CString GetFileName() const;
戻り値
最近見つかったファイルの名前。
解説
GetFileName を呼び出す FindNextFile
前に、少なくとも 1 回呼び出す必要があります。
GetFileName
は、何らかの形式のファイル名を返す 3 つの CFileFind
メンバー関数の 1 つです。 次の一覧では、3 つとその違いについて説明します。
GetFileName
は拡張子を含むファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFileName
、ファイルc:\myhtml\myfile.txt
名が返されますmyfile.txt
。GetFilePath
は、ファイルのパス全体を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFilePath
、ファイルc:\myhtml\myfile.txt
パスc:\myhtml\myfile.txt
が返されます。GetFileTitle
は、ファイル拡張子を除くファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFileTitle
、ファイルc:\myhtml\myfile.txt
タイトルが返されますmyfile
。
例
CFileFind finder;
static const TCHAR szFileToFind[] = _T("C:\\WINDOWS\\SYSTEM.INI");
BOOL bResult = finder.FindFile(szFileToFind);
if (bResult)
{
finder.FindNextFile();
TRACE(_T("Root of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetRoot());
TRACE(_T("Title of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileTitle());
TRACE(_T("Path of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFilePath());
TRACE(_T("URL of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileURL());
TRACE(_T("Name of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileName());
finder.Close();
}
else
{
TRACE(_T("You have no %s file.\n"), szFileToFind);
}
CFileFind::GetFilePath
このメンバー関数を呼び出して、指定したファイルの完全なパスを取得します。
virtual CString GetFilePath() const;
戻り値
指定したファイルのパス。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetFilePath
必要があります。
GetFilePath
は、何らかの形式のファイル名を返す 3 つの CFileFind
メンバー関数の 1 つです。 次の一覧では、3 つとその違いについて説明します。
GetFileName
は拡張子を含むファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFileName
、ファイルc:\myhtml\myfile.txt
名が返されますmyfile.txt
。GetFilePath
は、ファイルのパス全体を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFilePath
、ファイルc:\myhtml\myfile.txt
パスc:\myhtml\myfile.txt
が返されます。GetFileTitle は、ファイル拡張子を除くファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すと
GetFileTitle
、ファイルc:\myhtml\myfile.txt
タイトルが返されますmyfile
。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::GetFileTitle
このメンバー関数を呼び出して、見つかったファイルのタイトルを取得します。
virtual CString GetFileTitle() const;
戻り値
ファイルのタイトルです。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetFileTitle
必要があります。
GetFileTitle
は、何らかの形式のファイル名を返す 3 つの CFileFind
メンバー関数の 1 つです。 次の一覧では、3 つとその違いについて説明します。
GetFileName
は拡張子を含むファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFileName
、ファイルc:\myhtml\myfile.txt
名が返されますmyfile.txt
。GetFilePath
は、ファイルのパス全体を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFilePath
、ファイルc:\myhtml\myfile.txt
パス c:\myhtml\myfile.txt が返されます。GetFileTitle
は、ファイル拡張子を除くファイル名を返します。 たとえば、ファイルに関するユーザー メッセージを生成するために呼び出すとGetFileTitle
、ファイルc:\myhtml\myfile.txt
タイトルが返されますmyfile
。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::GetFileURL
このメンバー関数を呼び出して、指定した URL を取得します。
virtual CString GetFileURL() const;
戻り値
完全な URL。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetFileURL
必要があります。
GetFileURL
はメンバー関数 GetFilePath
に似ていますが、形式で URL を返す点が異なります file://path
。 たとえば、完全な URL を取得するために呼び出すとGetFileURL
、URL file://c:\myhtml\myfile.txt
myfile.txt
が返されます。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::GetLastAccessTime
指定したファイルが最後にアクセスされた時刻を取得するには、このメンバー関数を呼び出します。
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
パラメーター
refTime
CTime
オブジェクトへの参照です。
pTimeStamp
ファイルが FILETIME
最後にアクセスされた時刻を含む構造体へのポインター。
戻り値
成功した場合は 0 以外。失敗した場合は 0。 GetLastAccessTime
は、このCFileFind
オブジェクトで呼び出されたことがない場合FindNextFile
にのみ 0 を返します。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetLastAccessTime
必要があります。
Note
すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA
構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime
API を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::GetLastWriteTime
このメンバー関数を呼び出して、ファイルが最後に変更された時刻を取得します。
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
パラメーター
pTimeStamp
ファイルが FILETIME
最後に書き込まれた時刻を含む構造体へのポインター。
refTime
CTime
オブジェクトへの参照です。
戻り値
成功した場合は 0 以外。失敗した場合は 0。 GetLastWriteTime
は、このCFileFind
オブジェクトで呼び出されたことがない場合FindNextFile
にのみ 0 を返します。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetLastWriteTime
必要があります。
Note
すべてのファイル システムで同じセマンティクスを使用して、この関数によって返されるタイム スタンプを実装するわけではありません。 基になるファイル システムまたはサーバーが time 属性の保持をサポートしていない場合、この関数は他のタイム スタンプ関数から返されるのと同じ値を返す場合があります。 時刻形式については、 WIN32_FIND_DATA
構造を参照してください。 一部のオペレーティング システムでは、返される時刻は、ファイルが配置されていたコンピューターにローカルなタイム ゾーンにあります。 詳細については、Win32 FileTimeToLocalFileTime
API を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::GetLength
このメンバー関数を呼び出して、見つかったファイルの長さをバイト単位で取得します。
ULONGLONG GetLength() const;
戻り値
見つかったファイルの長さ (バイト単位)。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetLength
必要があります。
GetLength
では、Win32 構造体 WIN32_FIND_DATA
を使用して、ファイル サイズの値をバイト単位で取得して返します。
Note
MFC 7.0 以降では、 GetLength
64 ビット整数型がサポートされています。 この新しいバージョンのライブラリで以前にビルドされた既存のコードでは、切り捨て警告が発生する可能性があります。
例
// This code fragment prints out a very verbose directory
// listing for all the files in the root directory on the
// C: drive. After the file's name, each attribute of the
// file is printed, as are the creation, last access, and
// last write times.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
_tprintf_s(_T("%s\n\t"), (LPCTSTR)finder.GetFileName());
_tprintf_s(_T("%c"), finder.IsArchived() ? 'A' : 'a');
_tprintf_s(_T("%c"), finder.IsCompressed() ? 'C' : 'c');
_tprintf_s(_T("%c"), finder.IsHidden() ? 'H' : 'h');
_tprintf_s(_T("%c"), finder.IsNormal() ? 'N' : 'n');
_tprintf_s(_T("%c"), finder.IsReadOnly() ? 'R' : 'r');
_tprintf_s(_T("%c"), finder.IsSystem() ? 'S' : 's');
_tprintf_s(_T("%c"), finder.IsTemporary() ? 'T' : 't');
_tprintf_s(_T("\t%I64u byte(s)\n"), finder.GetLength());
CTime tempTime;
CString str;
_tprintf_s(_T("\tCreated : "));
if (finder.GetCreationTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Access: "));
if (finder.GetLastAccessTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Write : "));
if (finder.GetLastWriteTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\n"));
}
CFileFind::GetRoot
このメンバー関数を呼び出して、見つかったファイルのルートを取得します。
virtual CString GetRoot() const;
戻り値
アクティブな検索のルート。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す GetRoot
必要があります。
このメンバー関数は、検索を開始するために使用されるドライブ指定子とパス名を返します。 たとえば、空の文字列を返す結果をGetRoot
呼*.dat
び出FindFile
します。 などのパスc:\windows\system\*.dll
を返す結果GetRoot
にFindFile
渡しますc:\windows\system\
。
例
CFileFind::GetFileName
の例を参照してください。
CFileFind::IsArchived
このメンバー関数を呼び出して、見つかったファイルがアーカイブされているかどうかを確認します。
BOOL IsArchived() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
アプリケーションは、バックアップまたは削除されるアーカイブ ファイルを、 FILE_ATTRIBUTE_ARCHIVE
構造で識別されるファイル属性で WIN32_FIND_DATA
マークします。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsArchived
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsCompressed
このメンバー関数を呼び出して、見つかったファイルが圧縮されているかどうかを判断します。
BOOL IsCompressed() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
圧縮ファイルは、構造内で FILE_ATTRIBUTE_COMPRESSED
識別されるファイル属性で WIN32_FIND_DATA
マークされます。 ファイルの場合、この属性は、ファイル内のすべてのデータが圧縮されていることを示します。 ディレクトリの場合、この属性は、圧縮が新しく作成されたファイルとサブディレクトリの既定値であることを示します。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsCompressed
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsDirectory
このメンバー関数を呼び出して、見つかったファイルがディレクトリであるかどうかを判断します。
BOOL IsDirectory() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
ディレクトリであるファイルは、構造で FILE_ATTRIBUTE_DIRECTORY
識別されるファイル属性で WIN32_FIND_DATA
マークされます。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsDirectory
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
この小さなプログラムは、C:\ ドライブ上のすべてのディレクトリを繰り返し、ディレクトリの名前を出力します。
void Recurse(LPCTSTR pstr)
{
CFileFind finder;
// build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*");
// start working for files
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
// skip . and .. files; otherwise, we'd
// recur infinitely!
if (finder.IsDots())
continue;
// if it's a directory, recursively search it
if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
TRACE(_T("%s\n"), (LPCTSTR)str);
Recurse(str);
}
}
finder.Close();
}
void PrintDirs()
{
Recurse(_T("C:"));
}
CFileFind::IsDots
このメンバー関数を呼び出して、ファイルの反復処理中に現在のディレクトリと親ディレクトリ マーカーをテストします。
virtual BOOL IsDots() const;
戻り値
見つかったファイルの名前が "." または ".." の場合は 0 以外。見つかったファイルが実際にディレクトリであることを示します。 それ以外の場合は 0。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsDots
必要があります。
例
CFileFind::IsDirectory
の例を参照してください。
CFileFind::IsHidden
このメンバー関数を呼び出して、見つかったファイルが非表示かどうかを判断します。
BOOL IsHidden() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
非表示のファイル。このファイルは、構造内で識別されるファイル属性でWIN32_FIND_DATA
マークFILE_ATTRIBUTE_HIDDEN
されます。 隠しファイルは、通常のディレクトリ一覧には含まれません。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsHidden
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsNormal
このメンバー関数を呼び出して、見つかったファイルが通常のファイルかどうかを判断します。
BOOL IsNormal() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
でマークされた FILE_ATTRIBUTE_NORMAL
ファイル、構造体で WIN32_FIND_DATA
識別されるファイル属性。 通常のファイルには、他の属性が設定されていません。 他のすべてのファイル属性は、この属性をオーバーライドします。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsNormal
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsReadOnly
このメンバー関数を呼び出して、見つかったファイルが読み取り専用かどうかを判断します。
BOOL IsReadOnly() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
読み取り専用ファイルは、構造体で FILE_ATTRIBUTE_READONLY
識別されるファイル属性で WIN32_FIND_DATA
マークされます。 アプリケーションはこのようなファイルを読み取ることができますが、書き込んだり削除したりすることはできません。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsReadOnly
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsSystem
このメンバー関数を呼び出して、見つかったファイルがシステム ファイルかどうかを判断します。
BOOL IsSystem() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
システム ファイルは、構造体で FILE_ATTRIBUTE_SYSTEM
識別されるファイル属性で WIN32_FIND_DATA
マークされます。 システム ファイルは、オペレーティング システムの一部であるか、オペレーティング システムによって排他的に使用されます。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsSystem
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::IsTemporary
このメンバー関数を呼び出して、見つかったファイルが一時ファイルかどうかを判断します。
BOOL IsTemporary() const;
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
一時ファイルは、構造体で FILE_ATTRIBUTE_TEMPORARY
識別されるファイル属性で WIN32_FIND_DATA
マークされます。 一時ファイルは、一時ストレージに使用されます。 アプリケーションは、絶対に必要な場合にのみファイルに書き込む必要があります。 ファイルのほとんどのデータはメインファイルが間もなく削除されるため、メディアにフラッシュされずにメモリ内に再メインされます。
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す IsTemporary
必要があります。
ファイル属性の完全な一覧については、メンバー関数 MatchesMask
を参照してください。
例
CFileFind::GetLength
の例を参照してください。
CFileFind::m_pTM
CAtlTransactionManager
オブジェクトを指すポインター。
CAtlTransactionManager* m_pTM;
解説
CFileFind::MatchesMask
このメンバー関数を呼び出して、見つかったファイルのファイル属性をテストします。
virtual BOOL MatchesMask(DWORD dwMask) const;
パラメーター
dwMask
見つかったファイルの構造で WIN32_FIND_DATA
識別される 1 つ以上のファイル属性を指定します。 複数の属性を検索するには、ビットごとの OR (|
) 演算子を使用します。 次の属性を任意に組み合わせて使用できます。
FILE_ATTRIBUTE_ARCHIVE
ファイルはアーカイブ ファイルです。 アプリケーションでは、この属性を使用して、バックアップまたは削除の対象にファイルをマークします。FILE_ATTRIBUTE_COMPRESSED
ファイルまたはディレクトリは圧縮されます。 ファイルの場合、これは、ファイル内のすべてのデータが圧縮されることを意味します。 ディレクトリの場合、これは、圧縮が新しく作成されたファイルとサブディレクトリの既定値であることを意味します。FILE_ATTRIBUTE_DIRECTORY
ファイルはディレクトリです。FILE_ATTRIBUTE_NORMAL
ファイルには他の属性が設定されていません。 この属性は、単独で使用された場合にのみ有効です。 他のすべてのファイル属性は、この属性をオーバーライドします。FILE_ATTRIBUTE_HIDDEN
ファイルは非表示になっています。 通常のディレクトリ 一覧に含まれるものではありません。FILE_ATTRIBUTE_READONLY
ファイルは読み取り専用です。 アプリケーションはファイルを読み取ることができますが、ファイルに書き込んだり削除したりすることはできません。FILE_ATTRIBUTE_SYSTEM
ファイルはオペレーティング システムの一部であるか、オペレーティング システムによって排他的に使用されます。FILE_ATTRIBUTE_TEMPORARY
ファイルは一時ストレージに使用されています。 アプリケーションは、絶対に必要な場合にのみファイルに書き込む必要があります。 ファイルのほとんどのデータはメインファイルが間もなく削除されるため、メディアにフラッシュされずにメモリ内に再メインされます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 拡張エラー情報を取得するには、Win32 関数 GetLastError
を呼び出します。
解説
呼び出す前に少なくとも 1 回呼び出 FindNextFile
す MatchesMask
必要があります。
例
// This code fragment shows all of the files in the root directory
// of drive C: which have either the hidden attribute or the system
// attribute, or both.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.MatchesMask(FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_SYSTEM))
{
_tprintf_s(_T("%s\n"), (LPCTSTR) finder.GetFileName());
}
}
関連項目
CObject
クラス
階層図
CFtpFileFind
クラス
CGopherFileFind
クラス
CInternetFile
クラス
CGopherFile
クラス
CHttpFile
クラス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示