免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2561 | 回复: 4
打印 上一主题 下一主题

FTP传输模式问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-29 16:55 |只看该作者 |倒序浏览
在用UNIX C编程的时候,我如何定义是以ASCII方式传输,如何定义是以二进制方式传输,常用的read,write,recv,send都是以什么方式传输的,怎么定义他们的传输模式。

论坛徽章:
0
2 [报告]
发表于 2006-04-29 17:06 |只看该作者
打开文件时看你用什么方式打开文件,rb是以二进制打开,通用的都用二进制,除非你明确是字符型的,可以用文本方式

论坛徽章:
0
3 [报告]
发表于 2006-04-30 08:41 |只看该作者
那如果我用r来打开,就是ACSII方式传输吗??

论坛徽章:
0
4 [报告]
发表于 2006-04-30 15:06 |只看该作者
如果你读文件时用r,读出来的是ACSII编码的数据,用rb读出来的则是二进制数据。

对于传输来说,编码方式是透明的,读出的是什么数据,传输的就是什么数据。

    对于FTP来说,一般情况下采用二进制模式传输,但在不同平台间传输文本文件时要采用acsii模式。
   这是由于Windows下的换行符为"\r\n",而Unix/linux平台下的为''\n"。在这两类系统上互相传文本文件时需进行"\r\n"与"\n"的转换,
   FTP服务器不处理这种转换,FTP客户端会发送syst命令获得服务器上的操作系统类型,然后跟客户端的操作系统类型相比较,如果相同,则不进行转换;如果不同,则需要进行"\r\n"与"\n"的转换。

论坛徽章:
0
5 [报告]
发表于 2006-05-02 22:04 |只看该作者
linux 下文件打开模式都是 bin 模式的吧?
"rt" 只在 dos/windows 下有意义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP