700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux sftp 上传文件内容为空 求linux 下 C/c++ 实现SFTP上传文件的代码 或she

linux sftp 上传文件内容为空 求linux 下 C/c++ 实现SFTP上传文件的代码 或she

时间:2019-12-28 10:08:28

相关推荐

linux sftp 上传文件内容为空 求linux 下 C/c++ 实现SFTP上传文件的代码 或she

如题求linux系统下C/C++实现SFTP上传文件的代码,最好有一定的中文注释,谢谢了。

或是,

我看FTP上传的shell写的比较简单,但是,如何能判断是否上传成功哪??

如果想做上传的进度条的话?要如何处理哪?怎么判断上传了百分之多少哪??

有什么好的思路,最好有带注释的程序示例。

谢谢了!!!!

如果我哪问的不明白,请指出,我再补充。

|

可以脚本except

终端编程,havealook

#include

#include

#include

#include

#include

#include

#include

#include

voiddo_passwd(intpty,constchar*passwd,constchar*yes_no);

intmain(intargc,char*argv[])

{

argv[1]="yes";

argv[2]="momentx";

intpty,slave;

charpty_name[PATH_MAX];

intret;

pid_tchild;

if(argc!=1){

fprintf(stderr,"Usage:%sn",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);

}

elseif(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("ptyname:%sn",pty_name);

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

do_passwd(pty,argv[2],argv[2]);

exit(EXIT_SUCCESS);

}

voiddo_passwd(intpty,constchar*passwd,constchar*yes_no)

{

charbuffer[80];

intret;

fd_setreads;

intinput_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 sftp 上传文件内容为空 求linux 下 C/c++ 实现SFTP上传文件的代码 或shell 写的如何区分上传是否成功?...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。