当前位置:  技术问答>linux和unix

求linux 下 C/c++ 实现SFTP上传文件的代码,或shell 写的如何区分上传是否成功?

    来源: 互联网  发布时间:2016-04-29

    本文导语:  如题求linux系统下C/C++实现SFTP上传文件的代码,最好有一定的中文注释,谢谢了。 或是, 我看FTP上传的shell写的比较简单,但是,如何能判断是否上传成功哪?? 如果想做上传的进度条的话?要如何处理哪?怎么判...

如题求linux系统下C/C++实现SFTP上传文件的代码,最好有一定的中文注释,谢谢了。
或是,
我看FTP上传的shell写的比较简单,但是,如何能判断是否上传成功哪??
如果想做上传的进度条的话?要如何处理哪?怎么判断上传了百分之多少哪??
有什么好的思路,最好有带注释的程序示例。
谢谢了!!!!
如果我哪问的不明白,请指出,我再补充。

|
可以脚本 except

终端编程,have a look 

 
#include  
#include 
#include 
#include 
#include 
#include 
#include 
#include 


void do_passwd( int pty, const char *passwd, const char *yes_no );

int main( int argc, char *argv[] )
{
argv[1]="yes";
argv[2]="momentx";
 int pty, slave;
 char pty_name[PATH_MAX];
 int ret;
 pid_t child;

 if ( argc !=1 ){
 fprintf( stderr, "Usage: %s   n", argv[0] );
 exit( EXIT_FAILURE );
 }

 ret = openpty( &pty, &slave, pty_name, NULL, NULL );
 if ( ret == -1 ){
 perror( "openpty" );
 exit( EXIT_FAILURE );
 }

 child = fork();
 if ( child == -1 ){
 perror( "fork" );
 exit( EXIT_FAILURE );
 }
 else if ( child == 0 ){
 close( pty );
 login_tty( slave );
 // execl( "/usr/bin/ssh", "ssh","work@your_ip", NULL );
 execl( "/usr/bin/sshfs", "sshfs","root@ip:/root/public ","./temp", NULL );
 }

 close( slave );
 printf( "pty name: %sn", pty_name );

 //do_passwd( pty, argv[1], argv[2] );
 do_passwd( pty, argv[2], argv[2] );
 exit( EXIT_SUCCESS );
}

void do_passwd( int pty, const char *passwd, const char *yes_no )
{
 char buffer[80];
 int ret;
 fd_set reads;

 int input_passwd = 0;

 while(1){
 FD_ZERO( &reads );
 FD_SET( pty, &reads );
 ret = select( pty+1, &reads, NULL, NULL, NULL );
 if ( ret == -1 ){
 perror( "select" );
 break;
 }

 ret = read( pty, buffer, sizeof(buffer) );
 if ( ret 

    
 
 

您可能感兴趣的文章:

  • linux ftp服务器端如何修改文件上传数目与上传字节数的限制?
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • 请问ftp上传大小写突然改变跟linux有关吗?
  • linux下,开发文件的上传与下载
  • 怎么在java中向linux上传文件问题
  • windows如何从Linux的tftp服务器上上传下载东西
  • linux 上传文件权限问题,在线等
  • linux vsftp root用户文件上传 问题
  • 我telnet到linux远程主机,请问如何上传文件???
  • 如何设置LINUX系统把上传的DOS格式文件,自动转换成UNIX格式?
  • 求 简单 LINUX 命令 服务器上传下载
  • windows上传到linux上的.sh解压后不能运行
  • linux上传文件到windows
  • 在windows下如何用putty工具上传与下载文件(从linux服务器)
  • linux上传文件到window
  • 请问如何从windows上传文件到linux服务器?
  • powerbuilder 是否能在 Linux系统下使用? iis7站长之家
  • linux 0大小文件上传
  • 好烦,linux下firefox不能上传数据到csdn!
  • 请问怎样将windows和linux上传下载文件
  • 在LINUX下,打开硬盘要区分串口并口的区别吗?
  • 修改LINUX内核让系统不区分大小写!
  • linux下如何区分多个USB键盘的输入?
  • Linux 区分语言版本吗?
  • Linux怎样区分一个进程是否是线程啊?
  • 如何区分安装的操作系统是unix还是linux?
  • 如何区分LINUX的版本???
  • Linux下Socket接收超时和主机端口 如何区分
  • Linux 发行版区分语言版本吗?
  • 只知道远程服务器的ip,怎么区分远程服务器是windows还是linux系统?
  • 请问Linux如何区分目录和文件?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix与linux的关系,是否免费?两者是否开放源码?各到什么版本?何处下载?
  • 怎么知道自己的redhat linux 的端口是否已经开放,比如我想看看80和21端口是否开放?
  • 请问用jb7编写的程序是否可以超平台,即在win下写的程序是否可以在linux下运行?
  • 有谁做过嵌入式 Linux开发?是否有嵌入式Linux的JVM?
  • SUSE Linux Enterprise Desktop 10.1是否可以象一般的Linux免费使用?
  • Linux对其在硬盘中的安装位置是否有要求?
  • 是否有精简版的linux.
  • 求判断某ip是否联通的函数或类linux c/c++
  • linux程序如何判断一个网络共享文件是否更新
  • Linux是否支持RTF格式
  • powerbuilder 是否能在 Linux系统下使用?
  • linux下的c++如何判断线程是否结束?
  • linux7.0是否支持光驱启动
  • LINUX7.3是否支持INTEL 845G自带的显卡
  • oracle for linux 是否免费?
  • Linux是否不支持LCD ?
  • Linux 下是否可用用 ATL 宏 USES_CONVERSION ?
  • linux下如何测试是否能连接https://fep.veritrans.co.jp:443
  • linux查看cpu是否支持64位的方法
  • 在LINUX下,是否能访问WINDOWS的NTFS分区中的文件?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3