请教高手ftp编程的问题

rainbow 2000-06-17 03:36:00

请看以下程序:
第1和第2个消息框没有显示说明连接成功,为什么第三个消息框没有显示(函数调用失败)?使用其他的ftp函数也遇到同样的问题。
程序中的ip,user和password在ftp命令行下是可以登录的。


HINTERNET hIntSession,hFtpSession;
TCHAR szBuffer[MAX_PATH]="null";
TCHAR *szIp="162.33.30.5",*szUser="radar",*szPasswd="radar";
int iPathLenght;

hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);


if(hIntSession==NULL)
{
MessageBox(0,"Internet 连接出错","信息提示",MB_OK);
InternetCloseHandle(hIntSession);
return FALSE;
}



hFtpSession=InternetConnect( hIntSession,szIp,INTERNET_DEFAULT_FTP_PORT,szUser,szPasswd,INTERNET_SERVICE_FTP,0,0);

if(hFtpSession=NULL)
{

InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
MessageBox(0,"Ftp 连接出错","信息提示",MB_OK);
return FALSE;
}



if(FtpGetCurrentDirectory(hFtpSession,szBuffer,&iPathLenght))
MessageBox(0,szBuffer,"信息提示",MB_OK);

InternetCloseHandle(hFtpSession);
InternetCloseHandle(hIntSession);
return 0;


...全文
154 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainbow 2000-07-07
!
回复
fjp 2000-06-26
1。将
hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);
中的INTERNET_FLAG_ASYNC换成0

2。 if(hFtpSession=NULL)
应为if(hFtpSession == NULL)
回复
土豆 2000-06-21
hIntSession=InternetOpen("putfile",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_ASYNC);
是否应该设置为同步:INTERNET_FLAG_SYNC ?

另外,我建议你用类库,用类库没问题的。

回复
土豆 2000-06-21
我调试了一下,你在
hFtpSession=InternetConnect( hIntSession,szIp,INTERNET_DEFAULT_FTP_PORT,szUser,szPasswd,INTERNET_SERVICE_FTP,0,0);

取得的hFtpSession虽然不是NULL,但已经是非法的值了,具体是怎么回事我也没弄清楚,我只是想告诉你,InternetConnect没有成功。
回复
rainbow 2000-06-17
对不起,有一行应为 int iPathLenght=MAX_PATH;
回复
rainbow 2000-06-17
对不起,有一行应为 int iPathLenght=Max_Path;
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告