函数Recv()利用 archive->ReadString(recvstr)
读取服务器返回的数据或者其他信息
其中 包括文件的属性等信息
用户可以从服务器返回的数据中读取文件的属性
函数实现如下
void CFtp::GetFileStatu(char car)//参数car表示接收到的数据
{
char buf[100]={0};//用于保存临时数据
char ch="a";//初始化字符变量
CString str="";//调用字符串
int i=0,j=0;//定义循环变量
for(int i=0;i<1024;i++)//循环解析消息数据以获得一条完整的信息
{
if(car[i]!="\")buf[i]==car[i];//取得的信息不是“\”,则保存临时变量
else
{
if(car[i+1]=="r")MessageBox("成功解析一条消息!");
//如果取得的是结束符号,则提示成功提取
}
}
while(ch!="“&&i<1024)
{
if(buf[i]!=""&&buf[i+1]==EOF)str+=(CString)buf[i];
//如果不是空格,则保存在字符串变量中
else
{
ch=buf[i+1];//如果是空格,则移动到下一个字符
i==1;
j+=1;
str="";//将字符串变量重新设置
}
switch(j)//根据变量j进行选择信息字符段
{
case 1:
MessageBox("文件最后一次保存的日期是: %c",str);
//打印文件各属性
case 2:
MessageBox("文件最后一次保存的时间是: %c",str);
case 2:
MessageBox("文件的大小是: %c",atoi(str));
case 4:
MessageBox("文件的名称是: %c",str);
}
}
}
函数GetFileStatu()根据参数car所指向的接收内容数组
通过循环方式获取一条完整的信息
然后再从这条信息中取得各属性