FTPでファイル一覧を表示(C言語)

説明:

“ftp.foo.bar”というFTPサイトにログインし、“pub/Misc/”というディレクトリにあるファイルの一覧を表示する。

キーワード:

InternetOpen, InternetConnect, FtpFindFirstFile, InternetFindNextFile, InternetCloseHandle

サンプルコード:

void EnumFtpFiles()
{
	HINTERNET hInternet;
	HINTERNET hFtpSession;
	HINTERNET hFind;
	WIN32_FIND_DATA fd;

	/* WININETの初期化 */
	hInternet = InternetOpen(
		"WININET Sample Program",
		INTERNET_OPEN_TYPE_DIRECT,
		NULL,
		NULL,
		0);
	
	/* ftp.foo.barへ接続 */
	hFtpSession = InternetConnect(
		hInternet,
		"ftp.foo.bar",
		INTERNET_DEFAULT_FTP_PORT,
		NULL,
		NULL,
		INTERNET_SERVICE_FTP,
		0,
		0);

	/* ファイルを列挙し、表示 */
	hFind = FtpFindFirstFile(hFtpSession, "pub/Misc/", &fd, 0, 0);
	
	if(hFind != NULL) do {
		printf("%s\n", fd.cFileName);
	} while(InternetFindNextFile(hFind, &fd));

	/* 後処理 */
	InternetCloseHandle(hFind);
	InternetCloseHandle(hFtpSession);
	InternetCloseHandle(hInternet);
}

(original text:1999/04/15 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。