c++对ftp/sftp文件及文件夹上传下载操作工程源代码

本文提供了一个基于sshlib2技术实现的SFTP及FTP操作的C语言示例项目,包括连接、文件上传下载等功能,并附有详细的调用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.完整的项目结构,文档,测试用例
2.经过单元测试,集成测试

3.sftp使用sshlib2技术

源代码工程下载地址:https://download.youkuaiyun.com/download/whish1994/10386884

GitHub社区clone地址:https://github.com/hiWSH/ftp_sftp


调用实例:

SFTP操作

const char csOpen[] = "{\"ip\":\"127.0.0.1\",\"port\":\"2023\",\"username\":\"sftp\",\"password\":\"sftp\",\"mode\":\"1\"}";
const char csCd[] = "{\"dir\":\"/test\"}";
const char csDownloadFile[] = "{\"srcfilename\":\"/gwi/txt/g.txt\",\"destfilename\":\"d:\\\\ftp_test\\\\sftp\\\\test1.txt\"}";
const char csDownloadDir[] = "{\"srcdir\":\"/gwi/dir/\",\"destdir\":\"D:\\\\ftp_test\\\\sftpdir\"}";
   const char csUpdateFile[] = "{\"srcfilename\":\"d:\\\\ftp_test\\\\gwi.txt\",\"destfilename\":\"/gwi/txt/g.txt\"}";
   const char csUpdateDir[] = "{\"srcdir\":\"d:\\\\ftp_test\",\"destdir\":\"/gwi/dir/\"}";
   const char* pcRet = NULL;
   pcRet = ftpopen(csOpen);
   printf("ftpopen=>%s\n",pcRet);
   //getchar();
   pcRet = cd(csCd);
   printf("cd=>%s\n",pcRet);
   //getchar();

   pcRet = uploadfile(csUpdateFile);
   printf("uploadfile=>%s\n",pcRet);
   //getchar();

   pcRet = uploaddir(csUpdateDir);
   printf("uploaddir=>%s\n",pcRet);
   //getchar();

   pcRet = downloadfile(csDownloadFile);
   printf("downloadfile=>%s\n",pcRet);
   //getchar();


   pcRet = downloaddir(csDownloadDir);
   printf("downloaddir=>%s\n",pcRet);
   getchar();

   pcRet = ftpclose(NULL);
   printf("ftpclose=>%s\n",pcRet);
getchar();

FTP操作

const char csOpen[] = "{\"ip\":\"127.0.0.1\",\"port\":\"21\",\"username\":\"dell\",\"password\":\"wsh\",\"mode\":\"0\"}";
const char csCd[] = "{\"dir\":\"/test\"}";

const char csDownloadFile[] = "

{\"srcfilename\":\"/test/gwi/test1/test2/test.txt\",\"destfilename\":\"d:\\\\ftp_test\\\\ftp_file\\\\test1.txt\"}";

 const char csDownloadDir[] = "{\"srcdir\":\"/test\",\"destdir\":\"D:\\\\ftp_test\\\\ftpdir\"}";

   const char csUpdateFile[] = "

{\"srcfilename\":\"d:\\\\ftp_test\\\\update\\\\gwi.txt\",\"destfilename\":\"/gwi/txt/file/g.txt\"}";

   const char csUpdateDir[] = "{\"srcdir\":\"d:\\\\ftp_test\\\\update\\\\dir\",\"destdir\":\"/gwi/txt\"}";
   const char* pcRet = NULL;
   pcRet = ftpopen(csOpen);
   printf("%s\n",pcRet);
  /*
   //getchar();
   pcRet = cd(csCd);
   printf("%s\n",pcRet);
   //getchar();
   */
   pcRet = uploadfile(csUpdateFile);
   printf("%s\n",pcRet);
   getchar();
   pcRet = uploaddir(csUpdateDir);
   printf("%s\n",pcRet);
   //getchar();
   pcRet = downloadfile(csDownloadFile);
   printf("%s\n",pcRet);
   //getchar();

   pcRet = downloaddir(csDownloadDir);
   printf("%s\n",pcRet);
   //getchar();

   pcRet = ftpclose(NULL);
   printf("%s\n",pcRet);
getchar();


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值