2016-01-05 19:46:22|?次阅读|上传:wustguangh【已有?条评论】发表评论
关键词:C/C++, 网络通信|来源:唯设编程网
如果需要创建的目录的父级目录不存在,我们可以使用递归的方式创建指定目录:
int CFTP::ftp_mkdir( const char* dir )
{
char path[300]={0};
int err = -1;
//进入根目录
err = ftp_cd("/");
if(err)
return -1;
size_t i,j;
// printf("strlen(dir):%d",strlen(dir));
for(i=1,j=0;i<strlen(dir);i++) //第一个字节是根目录
{
path[j++] = dir[i];
if(dir[i]=='/'){
path[j++]='';
printf("create :%s
",path);
//进入子目录
err = ftp_cd(path);
if(err){
err = ftp_mkdirSingle(path);
if(err)
return -1;
err = ftp_cd(path);
if(err)
return -1;
}
//重新开始
j=0;
}
}
path[j++]='';
//进入子目录
err = ftp_cd(path);
if(err){
err = ftp_mkdirSingle(path);
if(err)
return -1;
err = ftp_cd(path);
if(err)
return -1;
}
return 0;
}
int CFTP::ftp_rmdir( const char* dir )
{
sprintf_s(m_cmd,"RMD %s
",dir);
int err = ftp_sendcmd(m_cmd,m_resp,sizeof(m_resp));
if(err)
return -1;
//得到返回码
int code = get_state_code(m_resp);
//250 RMD command successful.
if(code != 250)
return -1;
return 0;
}
删除FTP目录使用的命令是RMD,执行成功对应的返回码是250.