- 2
- 0
- 约4.1千字
- 约 21页
- 2017-08-14 发布于江西
- 举报
网络软件设计8.ppt
网络软件设计 数据的传输 引入 观察例程中对收发数据的处理方法 char *sendbuf=“I am a client”; char recvbuf[128]; 问题: 上述方法有什么区别和共同的地方? 区别:定义不同 共同点:字符串形式,占用一定空间 程序中常用的数据传输方法 字符串 文件 整数、数据 结构与报文格式 传输字符串 申明及空间 char *buf; 没有空间,若直接用于传输将导致错误 获得空间的方法: 静态 buf=“I am a client”; char buf[128]; 动态 buf=(char*)malloc( size ); 传输字符串 传输长度 字符串的结束符为‘\n’,实际值为0 strlen(buf);取得字符串长度 不包含结束符,所以传输时应将长度+1 否则接收方如果直接将接收信息当作字符串处理,会因为没有结束符而导致错误 还需注意一些其它的特殊字符:‘\r’,’\b’等 特殊字符会对字符串操作,如strlen()、strlcpy()、strcmp()等带来意想不到的效果 send(s, sendbuf, strlen(buf) + 1,0) 传输字符串 字符串缓冲区内容的组织 静态 char *sendbuf=“I am a client”; 动态 从键盘获得 scanf(“%s”,sendbuf);gets()等 sendbuf一定要准
原创力文档

文档评论(0)