- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程实验-4 - 副本
基本函数应用
实验题目
内存与字符串操作函数
IP地址转换
试验要求:
录入下列实例程序,在活页纸上写出程序输出内容
理解程序含义并写出程序注释同时分析程序输出内容
实例
字符串copy:
图1-1
(1)运行结果:
图1-2
内存和字符串copy命令比较:
运行结果:
运行结果分析:
程序第一行输出的结果是string1
因为在该程序的第8行执行了strcpy(a,b)语句,该语句的主要功能是将字符数组b的内容复制给字符数组a,但是由于字符数字b的字符串包含了’\0’,strpy函数遇到了’\0’默认结束拷贝。
在程序的第8行执行了printf(“strcpy():%s”,a);语句,所以程序的第一行输出的是string1
程序第二行输出的结果是:strcpy():string1a)
第2个printf函数双撇号””的内容原样输出。双撇号””中包含了’\n’是换行字符,主要是为了把上一行这该行之间起到换行作用。
第三个printf函数输出的是string1a)。
在程序的第8行执行了strcpy(a,b),此时数组a的内容就变成了string1\0a)。
程序的第11行执行了for循环语句,当变量i30时,循环结束。所以再执行printf(“%c”,a[i]);语句输出的结果就是string1a),\0表示空格符,在程序运行的结果时无法显示的空格符的。
程序第三行输出的结果是string1string。
由于该程序在第8行执行了strcpy(a,b),,所以数组a的内容就变成了string1\0a
程序的第13行执行了memcpy(a,b,30),其主要作用是复制字符数组b的前30个元素给字符数组a,包括’\0’,所以数组a的内容由string1\0a)变成了string1\0string。
第四个printf的作用是输出提示信息并换行,在屏幕终端换行输出memcpy();.
程序的第15行执行了for循环语句,作用是通过执行第五个printf(“%c”,a[i]);语句,将复制后的数组a的元素在屏幕终端显示。
执行第五个printf(“%c”,a[i]);语句之后,屏幕终端就会输出string1string
3.IP地址转换:
运行结果:
程序分析
#includestdio.h //*当要调用某个函数时先在用户自已编写的文件中查找,如果找不到再到库文件里去找. 当要调用某个函数时先在用户自已编写的文件中查找,如果找不到再到库文件里去找.“192.168.0.74”); //*将Ip地址“192.168.0.74”转换成点分十进制并且赋值给l1
l2=inet_addr(“211.100.21.179”); //*将Ip地址“211.100.21.179”转换成点分十进制并且赋值给l2
printf(“%u\n”,l1); //*将变量l1的值以无符号的形式输出并换行
for(i=0;i4;i++)
{
printf(“%02x”,*((unsigned char *)(11)+i));
//*“02x”是以十六进制输出,02表示不足两位以空格不齐,如果超出两位不影响的结果。
}
printf(“\n”); //*换行
printf(“%u\n”,l2); //*将变量l2的值以无符号的形式输出并换行
for(i=0;i4;i++)
{
printf(“%02x”,*((unsigned char*)(12)+i));
}
printf(“\n”);
memcpy(addr1,l1,4); //*从源l1所指的内存地址的起始位置开始拷贝4个字节到目标addr1所指的内存地址的起始位置中
memcpy(addr2,l2,4); //*从源l2所指的内存地址的起始位置开始拷贝4个字节到目标addr1所指的内存地址的起始位置中
printf(“%s\n”,inet_ntoa(addr1));//*将addr1的值经过inet_ntoa函数转换成对应的点分十进制并且以字符串的形式输出。
printf(“%s\n”,inet_ntoa(addr2)); //*将addr2的值经过inet_ntoa函数转换成对应的点分十进制并且以字符串的形式输出。
p1=inet_ntoa(addr1); //*将addr1的值经过inet_ntoa函数转换成对应的点分十进制并赋值给p1
p2=inet_ntoa(addr2); //*将addr2的值经过inet_ntoa函数转换成对应的点分十进制并赋值给p2
printf(“%s\n”,p1); //*将变量l2的值以字符串的形式输出并换行
printf(“%s\n”,p2); //*将变量l2的值以字符串的形式输
您可能关注的文档
- 综合复用PC系列说明书 201403.doc
- 综合实践《生中的标志》.doc
- 综合实践《绳的妙用》活动方案马艳航.doc
- 综合序列分析件BioEdit 中文说明书.ppt
- 综合性学习:进信息世界.doc
- 综合科工作总及明年工作思路.doc
- 综合科学科教活动记录表.doc
- 统赢使用说明.doc
- 综采自动控制统简介.doc
- 综合训练项目务书(数据结构).doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 珠心算家长会(金)课件.ppt VIP
- 税法(第5版)课件 曹越 第1--5章 税法基本原理、增值税--- 企业所得税.pptx
- 手外科疾病诊断与治疗.pptx VIP
- 2021乒乓球比赛活动设计方案.docx VIP
- 医疗器械分类目录2002版.doc VIP
- JBT10216-2013电缆桥架标准将代替JBT10216-2000旧标准.docx VIP
- 非遗知识文化云肩知识介绍PPT课件.pptx VIP
- 人行地通专项施工方案.doc VIP
- 阳江核电厂疏浚(清淤)项目环境影响报告书.docx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
文档评论(0)