#include #include #include #pragma comment(lib, "wininet.lib") int main() { HINTERNET hInternet; HINTERNET hFtpSession; HINTERNET hFtpFile; /* WININETの初期化 */ hInternet = InternetOpen( L"WININET Sample Program", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); /* FTPセッションの確立 */ hFtpSession = InternetConnect( hInternet, L"ftps.biglobe.ne.jp", INTERNET_DEFAULT_FTP_PORT, L"*****", L"*****", INTERNET_SERVICE_FTP, 0, 0); if (hFtpSession == NULL) { DWORD lastError = GetLastError(); _tprintf(_T("InternetConnect failed: %d\n"), lastError); InternetCloseHandle(hInternet); return 1; } // ファイルをオープン hFtpFile = FtpOpenFile( hFtpSession, L"/public_html/errors.txt", GENERIC_READ, INTERNET_FLAG_RELOAD, 0); if (hFtpFile == NULL) { DWORD lastError = GetLastError(); _tprintf(_T("FtpOpenFile failed: %d\n"), lastError); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); return 1; } // ファイルのサイズを取得 DWORD fileSize, retFileSize; retFileSize = FtpGetFileSize(hFtpFile, &fileSize); if (retFileSize == INVALID_FILE_SIZE) { DWORD lastError = GetLastError(); _tprintf(_T("FtpGetFileSize failed: %d\n"), lastError); } else { _tprintf(_T("File Size: %d bytes\n"), retFileSize); } // ハンドルを閉じる InternetCloseHandle(hFtpFile); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); return 0; }