- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用vc发送文件夹方法
关于发送文件夹的一方法 VC
作者:梦幻极光
???? 发送文件夹有很多方法,但是网上的代码很少,VC只有飞鸽有源代码,但是它采用的API的编程模式,不容易理解,加之注释又是日文或英文的,这样理解起来就更困难些.
???? 有很多人在网上发帖子询问如何发送文件夹,有人回答:用Winraar压缩再传,说实话是个方法,但是是个很无聊的方法.还有人说先遍历文件,发现是目录就叫对方建立一个.这个也是个方法,但是有些复杂,尤其是目录又深又多,难免出错.
???? 我要给大家介绍的方法是:
???? 1.先传把文件目录和文件名都传过去;
???? 2.处理文件目录以便建立.
???? 3.传输文件夹.
??? 首先,我们先定义一个结构体
???? struct FOLDERINFO
?? {
??????? int fileLength;??????????????????? //记录文件长度
???????? char fileName[128];???????????????? //记录文件名
??????? char filePath[512]???????????????? //记录文件路径
?? };
?? 这里需要说明一下,为什么文件名,文件路径不用CString定义,原因是这个结构体我们要发给对方的,但是由于CString长度是不丁长的,导致结构体长度不能确定,从而使程序出错.
?? 下面就是发送方的代码,我已经省去了目录选择和遍历目录的代码:
??? void CMyQQDlg::SendFiles(){CSocket sockClient;sockClient.Create();???????????????????????? //创建SocketCString ip;m_You_IP.GetWindowText(ip);????????????????? //m_You_IP是IP控件的变量sockClient.Connect(ip, 11024);?????? //?? ///////////////////////////////////////////////////////////////////
CString fileName; ///////////////////////这是发送方处理目录的代码,如果没有这段代码fileName=m_fileName;?????????????????? //将只能发送根目录下的文件:)int a=fileName.Find(filepathone);if(a!=2){?? fileName=fileName.Right(fileName.GetLength()-a-1);?? fileName=C:\\+fileName;}////////////////////////////////////////////////////////////////////////////CFile myFile;FOLDERINFO myFileInfo;if(!myFile.Open(m_fileName,CFile::modeRead|CFile::typeBinary))//m_fileName是遍历后得到的文件
return ;????????????????????? myFileInfo.fileLength=myFile.GetLength();?????????? //得到文件大小strcpy(myFileInfo.fileName,myFile.GetFileName());??? //得到文件名称??? strcpy(myFileInfo.filePath,m_fileName);sockClient.Send(myFileInfo,sizeof(myFileInfo));???? //发送文件信息myFile.Seek(0,CFile::begin);char m_buf[SIZEFILE]={0};?????????????????????????? //缓冲区CString strError;int num=0;int temp=0;//开始发送for(;;){???? num=myFile.Read(m_buf, SIZEFILE);?? if(num==0) break;?? end=sockClient.Send(m_buf, num); ?? temp+=end;??}????myFile.Close();sockClient.Close(); return ;}
下面就是接收方的代码:
int CMyQQDlg::SaveYouFiles(CSocket
您可能关注的文档
- 假说与理论3.ppt
- 课程实验工作规划.doc
- 师德师风学习个人总结(.doc
- 让婚姻的纽带更加坚实.doc
- 日语二外提高阶段考试试题.pdf
- 业部分)中XN华人种保XN护条例实施细则(林.doc
- 幸福与正义相伴.doc
- 医学基础总论3.doc
- 高密农机部门“五到位”备战“三秋”.doc
- 倒装复习周2.ppt
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
文档评论(0)