zoukankan      html  css  js  c++  java
  • FTP操作代码示例

    在Windows编程,常涉及到操作FTP的需求。

    以下为个人总结的一些示例代码:

      1 //
    2 //*********************************************************
    3 //Ftp basic operation
    4 //*********************************************************
    5 //
    6 //
    7 //1. connect to ftp
    8 //
    9 BOOL flag;
    10 CString cstrFtpServer = TEXT("10.142.252.155"); //ftp server address
    11 CString cstrFtpUserName = TEXT("pdmug"); //user name
    12 CString cstrFtpPassword = TEXT("pdmuguser"); //password
    13 CInternetSession* m_pInternetSession = NULL;
    14 CFtpConnection* m_pFtpConnection = NULL;
    15
    16 try
    17 {
    18 m_pInternetSession = new CInternetSession();
    19 m_pFtpConnection = m_pInternetSession->GetFtpConnection(cstrFtpServer,
    20 cstrFtpUserName, cstrFtpPassword, 21); //21 --- ftp port
    21 }
    22 catch (CInternetException* pEx) //error:can not connect to specific ftp
    23 {
    24 if (m_pInternetSession != NULL)
    25 {
    26 delete m_pInternetSession;
    27 }
    28 if (m_pFtpConnection != NULL)
    29 {
    30 delete m_pFtpConnection;
    31 }
    32
    33 return;
    34 }
    35
    36 //
    37 //2. get current directory
    38 //
    39 CString cstrCurrDir;
    40 flag = m_pFtpConnection->GetCurrentDirectory(cstrCurrDir);
    41 if (!flag) //get current directory error
    42 {
    43 }
    44
    45 //
    46 //3. set current directory
    47 //
    48 CString cstrNewCurrDir = TEXT("//pdmpv/GOX/BACK_COVER/");
    49 flag = m_pFtpConnection->SetCurrentDirectory(cstrNewCurrDir);
    50 if (!flag) //set current directory error
    51 {
    52 }
    53
    54 //
    55 //4. download file from ftp
    56 //
    57 flag = m_pFtpConnection->GetFile(TEXT("CA110900_2ND_MD.ol"),
    58 TEXT("D:\\123.ol"),
    59 TRUE);
    60 if (!flag) //download file fail
    61 {
    62 }
    63
    64 //
    65 //5. upload file to ftp
    66 //
    67 flag = m_pFtpConnection->PutFile(TEXT("D:\\123.txt"), TEXT("456.txt"));
    68 if (!flag) //upload file fail
    69 {
    70 }
    71
    72 //
    73 //6. rename file on ftp
    74 //
    75 flag = m_pFtpConnection->Rename(TEXT("456.txt"), TEXT("456_wy.txt"));
    76 if (!flag) //rename file fail
    77 {
    78 }
    79
    80 //
    81 //7. remove file on ftp
    82 //
    83 flag = m_pFtpConnection->Remove(TEXT("456.txt"));
    84 if (!flag) //remove file fail
    85 {
    86 }
    87
    88 //
    89 //8. create directory on ftp
    90 //
    91 flag = m_pFtpConnection->CreateDirectory(TEXT("WangYao"));
    92 if (!flag) //create directory on ftp fail
    93 {
    94 }
    95
    96 //
    97 //9. remove directory on ftp
    98 //Note: directory must be empty or will cause error
    99 //
    100 flag = m_pFtpConnection->RemoveDirectory(TEXT("WangYao"));
    101 if (!flag) //remove directory on ftp fail
    102 {
    103 }
    104
    105 //
    106 //10. Do not forget to free resource
    107 //
    108 delete m_pInternetSession;
    109 delete m_pFtpConnection;
    110
    111
    112 //
    113 //*********************************************************
    114 //Ftp file finder
    115 //*********************************************************
    116 //
    117 //
    118 //1. 如上:connect to ftp
    119 //
    120
    121 //
    122 //2. 如上:set current directory
    123 //
    124
    125 //
    126 //3. find file(参考CFileFind)
    127 //
    128 CFtpFileFind fFinder(m_pFtpConnection);
    129 BOOL bFind = fFinder.FindFile(TEXT("*.*"));
    130 while (bFind)
    131 {
    132 bFind = fFinder.FindNextFile();
    133
    134 //当前文件夹及上层文件夹(名称分别为.和..)-----------------
    135 if (fFinder.IsDots())
    136 {
    137 continue;
    138 }
    139
    140 //子文件夹---------------------------------------------
    141 if(fFinder.IsDirectory())
    142 {
    143 CString cstrDirName = fFinder.GetFileName(); //directory name
    144 CString cstrDirPath = fFinder.GetFilePath(); //directory path
    145 continue;
    146 }
    147
    148 //文件-------------------------------------------------
    149 CString cstrFileName = fFinder.GetFileName(); //file name
    150 CString cstrFilePath = fFinder.GetFilePath(); //file path
    151 }
    152
    153 fFinder.Close();



  • 相关阅读:
    ionic localstorage
    angular 中文鏈接
    把jqmobi 變成jQuery 的插件 從此使用jQuery
    jqmobi 的一些設置
    ionic ngcordova map 地圖
    ionic pull to refresh 下拉更新頁面
    json 對象的序列化
    鍵盤彈出,頁面佈局被推上去了.....
    Cordova V3.0.0中config.xml配置文件的iOS Configuration
    android ios 只能輸入數字 不能輸入小數點的 函數 cordova
  • 原文地址:https://www.cnblogs.com/Hisin/p/2429494.html
Copyright © 2011-2022 走看看