Bagikan melalui


CFileFind Kelas

Melakukan pencarian file lokal dan merupakan kelas dasar untuk CGopherFileFind dan CFtpFileFind, yang melakukan pencarian file Internet.

Sintaks

class CFileFind : public CObject

Anggota

Konstruktor Publik

Nama Deskripsi
CFileFind::CFileFind Membuat CFileFind objek.

Metode Publik

Nama Deskripsi
CFileFind::Close Menutup permintaan pencarian.
CFileFind::FindFile Mencari direktori untuk nama file tertentu.
CFileFind::FindNextFile Melanjutkan pencarian file dari panggilan sebelumnya ke FindFile.
CFileFind::GetCreationTime Mendapatkan waktu file dibuat.
CFileFind::GetFileName Mendapatkan nama, termasuk ekstensi, dari file yang ditemukan
CFileFind::GetFilePath Mendapatkan seluruh jalur file yang ditemukan.
CFileFind::GetFileTitle Mendapatkan judul file yang ditemukan. Judul tidak menyertakan ekstensi.
CFileFind::GetFileURL Mendapatkan URL, termasuk jalur file, dari file yang ditemukan.
CFileFind::GetLastAccessTime Mendapatkan waktu file terakhir diakses.
CFileFind::GetLastWriteTime Mendapatkan waktu file terakhir diubah dan disimpan.
CFileFind::GetLength Mendapatkan panjang file yang ditemukan, dalam byte.
CFileFind::GetRoot Mendapatkan direktori akar dari file yang ditemukan.
CFileFind::IsArchived Menentukan apakah file yang ditemukan diarsipkan.
CFileFind::IsCompressed Menentukan apakah file yang ditemukan dikompresi.
CFileFind::IsDirectory Menentukan apakah file yang ditemukan adalah direktori.
CFileFind::IsDots Menentukan apakah nama file yang ditemukan memiliki nama "." atau "..", yang menunjukkan bahwa sebenarnya adalah direktori.
CFileFind::IsHidden Menentukan apakah file yang ditemukan tersembunyi.
CFileFind::IsNormal Menentukan apakah file yang ditemukan normal (dengan kata lain, tidak memiliki atribut lain).
CFileFind::IsReadOnly Menentukan apakah file yang ditemukan bersifat baca-saja.
CFileFind::IsSystem Menentukan apakah file yang ditemukan adalah file sistem.
CFileFind::IsTemporary Menentukan apakah file yang ditemukan bersifat sementara.
CFileFind::MatchesMask Menunjukkan atribut file yang diinginkan dari file yang akan ditemukan.

Metode yang Dilindungi

Nama Deskripsi
CFileFind::CloseContext Menutup file yang ditentukan oleh handel pencarian saat ini.

Anggota Data yang Dilindungi

Nama Deskripsi
CFileFind::m_pTM Penunjuk CAtlTransactionManager ke objek.

Keterangan

CFileFind menyertakan fungsi anggota yang memulai pencarian, menemukan file, dan mengembalikan judul, nama, atau jalur file. Untuk pencarian Internet, fungsi GetFileURL anggota mengembalikan URL file.

CFileFind adalah kelas dasar untuk dua kelas MFC lainnya yang dirancang untuk mencari jenis server tertentu: CGopherFileFind berfungsi khusus dengan server gopher, dan CFtpFileFind berfungsi khusus dengan server FTP. Bersama-sama, ketiga kelas ini menyediakan mekanisme yang mulus bagi klien untuk menemukan file, terlepas dari protokol server, jenis file, atau lokasi, baik di komputer lokal atau server jarak jauh.

Kode berikut akan menghitung semua file di direktori saat ini, mencetak nama setiap file:

CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
   bWorking = finder.FindNextFile();
   TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
} 

Agar contohnya sederhana, kode ini menggunakan kelas Pustaka cout Standar C++. Baris cout dapat diganti dengan panggilan ke CListBox::AddString, misalnya, dalam program dengan antarmuka pengguna grafis.

Untuk informasi selengkapnya tentang cara menggunakan CFileFind dan kelas WinInet lainnya, lihat artikel Pemrograman Internet dengan WinInet.

Hierarki Warisan

CObject

CFileFind

Persyaratan

Header: afx.h

CFileFind::CFileFind

Fungsi anggota ini dipanggil ketika CFileFind objek dibangun.

CFileFind();
CFileFind(CAtlTransactionManager* pTM);

Parameter

pTM
Penunjuk ke objek CAtlTransactionManager

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::Close

Panggil fungsi anggota ini untuk mengakhiri pencarian, mengatur ulang konteks, dan merilis semua sumber daya.

void Close();

Keterangan

Setelah memanggil Close, Anda tidak perlu membuat instans baru CFileFind sebelum memanggil FindFile untuk memulai pencarian baru.

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::CloseContext

Menutup file yang ditentukan oleh handel pencarian saat ini.

virtual void CloseContext();

Keterangan

Menutup file yang ditentukan oleh nilai handel pencarian saat ini. Ambil alih fungsi ini untuk mengubah perilaku default.

Anda harus memanggil FindFile fungsi atau FindNextFile setidaknya sekali untuk mengambil handel pencarian yang valid. Fungsi FindFile dan FindNextFile menggunakan handel pencarian untuk menemukan file dengan nama yang cocok dengan nama tertentu.

CFileFind::FindFile

Panggil fungsi anggota ini untuk membuka pencarian file.

virtual BOOL FindFile(
    LPCTSTR pstrName = NULL,
    DWORD dwUnused = 0);

Parameter

pstrName
Penunjuk ke string yang berisi nama file yang akan ditemukan. Jika Anda lulus NULL untuk pstrName, FindFile lakukan pencarian kartubebas (*.*).

dwUnused
Dicadangkan untuk membuat FindFile polimorfik dengan kelas turunan. Harus 0.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastErrorWin32 .

Keterangan

Setelah memanggil FindFile untuk memulai pencarian file, panggil FindNextFile untuk mengambil file berikutnya. Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil salah satu fungsi anggota atribut berikut:

Contoh

Lihat contoh untuk CFileFind::IsDirectory.

CFileFind::FindNextFile

Panggil fungsi anggota ini untuk melanjutkan pencarian file dari panggilan sebelumnya ke FindFile.

virtual BOOL FindNextFile();

Tampilkan Nilai

Nonzero jika ada lebih banyak file; nol jika file yang ditemukan adalah yang terakhir dalam direktori atau jika terjadi kesalahan. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastErrorWin32 . Jika file yang ditemukan adalah file terakhir di direktori, atau jika tidak ada file yang cocok yang dapat ditemukan, GetLastError fungsi mengembalikan ERROR_NO_MORE_FILES.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil salah satu fungsi anggota atribut berikut:

FindNextFile membungkus fungsi FindNextFile Win32.

Contoh

Lihat contoh untuk CFileFind::IsDirectory.

CFileFind::GetCreationTime

Panggil fungsi anggota ini untuk mendapatkan waktu file yang ditentukan dibuat.

virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;

Parameter

pTimeStamp
Penunjuk ke struktur yang FILETIME berisi waktu file dibuat.

refTime
Referensi ke CTime objek.

Tampilkan Nilai

Bukan nol jika berhasil; 0 jika tidak berhasil. GetCreationTime mengembalikan 0 hanya jika FindNextFile belum pernah dipanggil pada objek ini CFileFind .

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetCreationTime.

Catatan

Tidak semua sistem file menggunakan semantik yang sama untuk mengimplementasikan stempel waktu yang dikembalikan oleh fungsi ini. Fungsi ini dapat mengembalikan nilai yang sama yang dikembalikan oleh fungsi stempel waktu lain jika sistem file atau server yang mendasar tidak mendukung menjaga atribut waktu. WIN32_FIND_DATA Lihat struktur untuk informasi tentang format waktu. Pada beberapa sistem operasi, waktu yang dikembalikan berada di zona waktu lokal ke komputer adalah file berada. Lihat API Win32 FileTimeToLocalFileTime untuk informasi selengkapnya.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::GetFileName

Panggil fungsi anggota ini untuk mendapatkan nama file yang ditemukan.

virtual CString GetFileName() const;

Tampilkan Nilai

Nama file yang terakhir ditemukan.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetFileName.

GetFileName adalah salah satu dari tiga CFileFind fungsi anggota yang mengembalikan beberapa bentuk nama file. Daftar berikut ini menjelaskan tiga dan bagaimana mereka bervariasi:

  • GetFileName mengembalikan nama file, termasuk ekstensi. Misalnya, memanggil GetFileName untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan nama myfile.txtfile .

  • GetFilePath mengembalikan seluruh jalur untuk file. Misalnya, memanggil GetFilePath untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan jalur c:\myhtml\myfile.txtfile .

  • GetFileTitle mengembalikan nama file, tidak termasuk ekstensi file. Misalnya, memanggil GetFileTitle untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan judul myfilefile .

Contoh

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

Panggil fungsi anggota ini untuk mendapatkan jalur lengkap file yang ditentukan.

virtual CString GetFilePath() const;

Tampilkan Nilai

Jalur file yang ditentukan.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetFilePath.

GetFilePath adalah salah satu dari tiga CFileFind fungsi anggota yang mengembalikan beberapa bentuk nama file. Daftar berikut ini menjelaskan tiga dan bagaimana mereka bervariasi:

  • GetFileName mengembalikan nama file, termasuk ekstensi. Misalnya, memanggil GetFileName untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan nama myfile.txtfile .

  • GetFilePath mengembalikan seluruh jalur untuk file. Misalnya, memanggil GetFilePath untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan jalur c:\myhtml\myfile.txtfile .

  • GetFileTitle mengembalikan nama file, tidak termasuk ekstensi file. Misalnya, memanggil GetFileTitle untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan judul myfilefile .

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::GetFileTitle

Panggil fungsi anggota ini untuk mendapatkan judul file yang ditemukan.

virtual CString GetFileTitle() const;

Tampilkan Nilai

Judul file.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetFileTitle.

GetFileTitle adalah salah satu dari tiga CFileFind fungsi anggota yang mengembalikan beberapa bentuk nama file. Daftar berikut ini menjelaskan tiga dan bagaimana mereka bervariasi:

  • GetFileName mengembalikan nama file, termasuk ekstensi. Misalnya, memanggil GetFileName untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan nama myfile.txtfile .

  • GetFilePath mengembalikan seluruh jalur untuk file. Misalnya, memanggil GetFilePath untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan jalur file c:\myhtml\myfile.txt.

  • GetFileTitle mengembalikan nama file, tidak termasuk ekstensi file. Misalnya, memanggil GetFileTitle untuk menghasilkan pesan pengguna tentang file c:\myhtml\myfile.txt mengembalikan judul myfilefile .

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::GetFileURL

Panggil fungsi anggota ini untuk mengambil URL yang ditentukan.

virtual CString GetFileURL() const;

Tampilkan Nilai

URL lengkap.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetFileURL.

GetFileURL mirip dengan fungsi GetFilePathanggota , kecuali bahwa ia mengembalikan URL dalam formulir file://path. Misalnya, memanggil GetFileURL untuk mendapatkan URL lengkap untuk myfile.txt mengembalikan URL file://c:\myhtml\myfile.txt.

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::GetLastAccessTime

Panggil fungsi anggota ini untuk mendapatkan waktu file yang ditentukan terakhir kali diakses.

virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;

Parameter

refTime
Referensi ke CTime objek.

pTimeStamp
Penunjuk ke struktur yang FILETIME berisi waktu file terakhir diakses.

Tampilkan Nilai

Bukan nol jika berhasil; 0 jika tidak berhasil. GetLastAccessTime mengembalikan 0 hanya jika FindNextFile belum pernah dipanggil pada objek ini CFileFind .

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetLastAccessTime.

Catatan

Tidak semua sistem file menggunakan semantik yang sama untuk mengimplementasikan stempel waktu yang dikembalikan oleh fungsi ini. Fungsi ini dapat mengembalikan nilai yang sama yang dikembalikan oleh fungsi stempel waktu lain jika sistem file atau server yang mendasar tidak mendukung menjaga atribut waktu. WIN32_FIND_DATA Lihat struktur untuk informasi tentang format waktu. Pada beberapa sistem operasi, waktu yang dikembalikan berada di zona waktu lokal ke komputer adalah file berada. Lihat API Win32 FileTimeToLocalFileTime untuk informasi selengkapnya.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::GetLastWriteTime

Panggil fungsi anggota ini untuk mendapatkan terakhir kali file diubah.

virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;

Parameter

pTimeStamp
Penunjuk ke struktur yang FILETIME berisi waktu file terakhir ditulis.

refTime
Referensi ke CTime objek.

Tampilkan Nilai

Bukan nol jika berhasil; 0 jika tidak berhasil. GetLastWriteTime mengembalikan 0 hanya jika FindNextFile belum pernah dipanggil pada objek ini CFileFind .

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetLastWriteTime.

Catatan

Tidak semua sistem file menggunakan semantik yang sama untuk mengimplementasikan stempel waktu yang dikembalikan oleh fungsi ini. Fungsi ini dapat mengembalikan nilai yang sama yang dikembalikan oleh fungsi stempel waktu lain jika sistem file atau server yang mendasar tidak mendukung menjaga atribut waktu. WIN32_FIND_DATA Lihat struktur untuk informasi tentang format waktu. Pada beberapa sistem operasi, waktu yang dikembalikan berada di zona waktu lokal ke komputer adalah file berada. Lihat API Win32 FileTimeToLocalFileTime untuk informasi selengkapnya.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::GetLength

Panggil fungsi anggota ini untuk mendapatkan panjang file yang ditemukan, dalam byte.

ULONGLONG GetLength() const;

Tampilkan Nilai

Panjang file yang ditemukan, dalam byte.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetLength.

GetLength menggunakan struktur WIN32_FIND_DATA Win32 untuk mendapatkan dan mengembalikan nilai ukuran file, dalam byte.

Catatan

Pada MFC 7.0, GetLength mendukung jenis bilangan bulat 64-bit. Kode yang sebelumnya sudah ada yang dibangun dengan versi pustaka yang lebih baru ini dapat mengakibatkan peringatan pemotongan.

Contoh

// 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

Panggil fungsi anggota ini untuk mendapatkan akar file yang ditemukan.

virtual CString GetRoot() const;

Tampilkan Nilai

Akar pencarian aktif.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil GetRoot.

Fungsi anggota ini mengembalikan penentu drive dan nama jalur yang digunakan untuk memulai pencarian. Misalnya, memanggil FindFile dengan *.dat hasil dalam GetRoot mengembalikan string kosong. Meneruskan jalur, seperti c:\windows\system\*.dll, ke FindFile hasil GetRoot yang c:\windows\system\mengembalikan .

Contoh

Lihat contoh untuk CFileFind::GetFileName.

CFileFind::IsArchived

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan diarsipkan.

BOOL IsArchived() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Aplikasi menandai file arsip, yang akan dicadangkan atau dihapus, dengan FILE_ATTRIBUTE_ARCHIVE, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsArchived.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsCompressed

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan dikompresi.

BOOL IsCompressed() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File terkompresi ditandai dengan FILE_ATTRIBUTE_COMPRESSED, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. Untuk file, atribut ini menunjukkan bahwa semua data dalam file dikompresi. Untuk direktori, atribut ini menunjukkan bahwa kompresi adalah default untuk file dan subdirektori yang baru dibuat.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsCompressed.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsDirectory

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan adalah direktori.

BOOL IsDirectory() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File yang merupakan direktori ditandai dengan FILE_ATTRIBUTE_DIRECTORY atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsDirectory.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Program kecil ini mengulangi setiap direktori pada drive C:\ dan mencetak nama direktori.

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

Panggil fungsi anggota ini untuk menguji penanda direktori dan direktori induk saat ini saat melakukan iterasi melalui file.

virtual BOOL IsDots() const;

Tampilkan Nilai

Bukan nol jika file yang ditemukan memiliki nama "." atau "..", yang menunjukkan bahwa file yang ditemukan sebenarnya adalah direktori. Jika tidak, 0.

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsDots.

Contoh

Lihat contoh untuk CFileFind::IsDirectory.

CFileFind::IsHidden

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan tersembunyi.

BOOL IsHidden() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File tersembunyi, yang ditandai dengan FILE_ATTRIBUTE_HIDDEN, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. File tersembunyi tidak disertakan dalam daftar direktori biasa.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsHidden.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsNormal

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan adalah file normal.

BOOL IsNormal() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File yang ditandai dengan FILE_ATTRIBUTE_NORMAL, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. File normal tidak memiliki atribut lain yang ditetapkan. Semua atribut file lainnya mengambil alih atribut ini.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsNormal.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsReadOnly

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan bersifat baca-saja.

BOOL IsReadOnly() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File baca-saja ditandai dengan FILE_ATTRIBUTE_READONLY, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. Aplikasi dapat membaca file seperti itu, tetapi mereka tidak dapat menulis atau menghapusnya.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsReadOnly.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsSystem

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan adalah file sistem.

BOOL IsSystem() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File sistem ditandai dengan FILE_ATTRIBUTE_SYSTEM, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. File sistem adalah bagian dari, atau digunakan secara eksklusif oleh, sistem operasi.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsSystem.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::IsTemporary

Panggil fungsi anggota ini untuk menentukan apakah file yang ditemukan adalah file sementara.

BOOL IsTemporary() const;

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

File sementara ditandai dengan FILE_ATTRIBUTE_TEMPORARY, atribut file yang diidentifikasi dalam WIN32_FIND_DATA struktur. File sementara digunakan untuk penyimpanan sementara. Aplikasi harus menulis ke file hanya jika benar-benar diperlukan. Sebagian besar data file tetap dalam memori tanpa dibersihkan ke media karena file akan segera dihapus.

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil IsTemporary.

Lihat fungsi MatchesMask anggota untuk daftar lengkap atribut file.

Contoh

Lihat contoh untuk CFileFind::GetLength.

CFileFind::m_pTM

Penunjuk CAtlTransactionManager ke objek.

CAtlTransactionManager* m_pTM;

Keterangan

CFileFind::MatchesMask

Panggil fungsi anggota ini untuk menguji atribut file pada file yang ditemukan.

virtual BOOL MatchesMask(DWORD dwMask) const;

Parameter

dwMask
Menentukan satu atau beberapa atribut file, yang diidentifikasi dalam WIN32_FIND_DATA struktur, untuk file yang ditemukan. Untuk mencari beberapa atribut, gunakan operator bitwise OR (|). Kombinasi atribut berikut dapat diterima:

  • FILE_ATTRIBUTE_ARCHIVE File adalah file arsip. Aplikasi menggunakan atribut ini untuk menandai file untuk pencadangan atau penghapusan.

  • FILE_ATTRIBUTE_COMPRESSED File atau direktori dikompresi. Untuk file, ini berarti bahwa semua data dalam file dikompresi. Untuk direktori, ini berarti bahwa kompresi adalah default untuk file dan subdirektori yang baru dibuat.

  • FILE_ATTRIBUTE_DIRECTORY File adalah direktori.

  • FILE_ATTRIBUTE_NORMAL File tidak memiliki atribut lain yang ditetapkan. Atribut ini hanya valid jika digunakan sendiri. Semua atribut file lainnya mengambil alih atribut ini.

  • FILE_ATTRIBUTE_HIDDEN File disembunyikan. Ini tidak boleh disertakan dalam daftar direktori biasa.

  • FILE_ATTRIBUTE_READONLY File hanya dibaca. Aplikasi dapat membaca file tetapi tidak dapat menulis atau menghapusnya.

  • FILE_ATTRIBUTE_SYSTEM File adalah bagian dari atau digunakan secara eksklusif oleh sistem operasi.

  • FILE_ATTRIBUTE_TEMPORARY File sedang digunakan untuk penyimpanan sementara. Aplikasi harus menulis ke file hanya jika benar-benar diperlukan. Sebagian besar data file tetap dalam memori tanpa dibersihkan ke media karena file akan segera dihapus.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastErrorWin32 .

Keterangan

Anda harus memanggil FindNextFile setidaknya sekali sebelum memanggil MatchesMask.

Contoh

// 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());
   }
}

Lihat juga

CObject Kelas
Bagan Hierarki
CFtpFileFind Kelas
CGopherFileFind Kelas
CInternetFile Kelas
CGopherFile Kelas
CHttpFile Kelas