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.