CFtpFileFind クラス
更新 : 2007 年 11 月
FTP サーバーのインターネット ファイル検索を支援します。
class CFtpFileFind : public CFileFind
解説
CFtpFileFind には、検索の開始、ファイルの検索、および URL またはファイルに関するその他の情報を返すメンバ関数があります。
インターネット ファイルとローカル ファイルを検索するためにデザインされた MFC のクラスには、ほかに CGopherFileFind と CFileFind があります。CFtpFileFind と組み合わせて使うと、これらのクラスは、サーバー プロトコル、ファイル種別、またはローカル コンピュータあるいはリモート サーバーという場所に関係のない、シームレスなファイル検索機能を、クライアントに提供します。HTTP では検索に必要なファイルの直接操作をサポートしないため、HTTP サーバーを検索する MFC クラスは存在しません。
CFtpFileFind などの WinInet クラスの使い方の詳細については、「Win32 インターネット拡張機能 (WinInet)」を参照してください。
使用例
次のコードは、FTP サーバーの現在のディレクトリにあるすべてのファイルを列挙する方法を示しています。
// create a session object to initialize WININET library
// Default parameters mean the access method in the registry
// (that is, set by the "Internet" icon in the Control Panel)
// will be used.
CInternetSession sess(_T("My FTP Session"));
CFtpConnection* pConnect = NULL;
try
{
// Request a connection to ftp.microsoft.com. Default
// parameters mean that we'll try with username = ANONYMOUS
// and password set to the machine name @ domain name
pConnect = sess.GetFtpConnection(_T("ftp.microsoft.com"));
// use a file find object to enumerate files
CFtpFileFind finder(pConnect);
// start looping
BOOL bWorking = finder.FindFile(_T("*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
_tprintf_s(_T("%s\n"), (LPCTSTR)finder.GetFileURL());
}
}
catch (CInternetException* pEx)
{
TCHAR sz[1024];
pEx->GetErrorMessage(sz, 1024);
_tprintf_s(_T("ERROR! %s\n"), sz);
pEx->Delete();
}
// if the connection is open, close it
if (pConnect != NULL)
{
pConnect->Close();
delete pConnect;
}
必要条件
ヘッダー : afxinet.h