○FTPクライアント
Wininetライブラリを使用しています。
#pragma comment(lib, "wininet.lib")
#include <stdio.h>
#include <windows.h>
#include <wininet.h>
int main(int count,char *args[]){
//サーバーとIDとパスワード
LPCTSTR FTPServerName = "localhost";
LPCTSTR FTPUserID = "Anonymous";
LPCTSTR FTPUserPW = "test@test";
HINTERNET hInternet;
HINTERNET hFtp;
//インターネットを開く
hInternet = InternetOpen(
"inaba 01",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
0);
if(hInternet==NULL){
printf("インターネットを開けません\n");
InternetCloseHandle(hInternet);
return 1;
}
//FTPサーバーに接続
hFtp = InternetConnect(
hInternet,
FTPServerName,
INTERNET_DEFAULT_FTP_PORT,
FTPUserID,
FTPUserPW,
INTERNET_SERVICE_FTP,
0,
0);
if(hFtp==NULL){
printf("FTPサーバーに接続できませんでした\n");
InternetCloseHandle(hFtp);
InternetCloseHandle(hInternet);
return 1;
}
BOOL resolt = TRUE;
////ファイルのダウンロード
////FTPサーバーにあるtest.txtをバイナリモードでダウンロードしc:\test.txtに保存します。
//resolt = FtpGetFile(hFtp,"test.txt","c:\\test.txt",FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_BINARY,NULL);
////フォルダからダウンロードする場合は"フォルダ名/test.txt"とします
////ファイルのアップロード
////ローカルにあるc:\test.txtをバイナリモードでアップロードします
//resolt = FtpPutFile(hFtp,"c:\\test.txt","test.txt",FTP_TRANSFER_TYPE_BINARY,NULL);
////フォルダにアップロードする場合は"フォルダ名/test.txt"とします
////ファイルとフォルダの名前の列挙
//WIN32_FIND_DATA FindData;
//HINTERNET hFind = FtpFindFirstFile(hFtp, "/", &FindData, INTERNET_FLAG_RELOAD, 0);
////フォルダの中のファイルを列挙する場合は"/フォルダ名/"とします
//if(hFind!=NULL){
// do {
// printf("%s\n", FindData.cFileName);
// } while(InternetFindNextFile(hFind,&FindData));
//}
if(!resolt) printf("ファイル転送失敗\n");
InternetCloseHandle(hFtp);
InternetCloseHandle(hInternet);
return 0;
}
▲トップページ
>
Windows と C++