当前位置: 首页 > news >正文

eclipse开发微网站开发优化网站快速排名软件

eclipse开发微网站开发,优化网站快速排名软件,中原彼得堡航空学院网站的建设,网络设计总结strncmp strncat strncpy长度受限制的字符串函数 首先 我们需要知道 这几个的语法格式差不多 这里传递的size_t的长度是传递的字节长度 不是个数 也就这里int*是四个字节 char*是一个字节 如果是整数进行交换 。此时也就需要20个字节,这样可以交换五个整数 这里差…

strncmp strncat strncpy长度受限制的字符串函数

首先 我们需要知道 这几个的语法格式差不多 

这里传递的size_t的长度是传递的字节长度 不是个数 也就这里int*是四个字节 char*是一个字节 如果是整数进行交换 。此时也就需要20个字节,这样可以交换五个整数

这里差异只是多一个参数 也就是size_t sz长度参数

strncpy(拷贝)

这里只是多一个字节长度

这里拷贝三个

这里是让拷贝几个就拷贝几个 没有’\0‘

这里拷贝8个 这里是不足八个 加上'\0'

strncpy代码的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<string.h>
void my_strncpy(char* str1, char* str2, size_t sz)
{assert(str1 && str2);while (sz > 0)//这里是字节交换 每次sz会进行减少一个字节{*str1 = *str2;//这里进行复制str1++; //各自向后移动str2++;sz--;//字节每次减少1 }
}
int main()
{char arr1[] = "dfhguil";char arr2[100] = { 0 };my_strncpy(arr2, arr1, 3);printf("%s", arr2);return 0;
}

strncat(拼接)

举例1

这里是追加三个字节

举例2

这里是追加3个 从前往后走进行追加 把该追加的追加之后 会放一个字符串

举例3

把该追加的追加之后 加上字符串0 之后就不继续添加了

strncat的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<string.h>
void my_strncat(char* str1, char* str2, size_t sz)
{assert(str1 && str2);//这里使用一个断言 也就是只要不是空指针 就可以继续运行while (*str1 != '\0')//这里是先找到第一个数组的'\0'然后跳出循环str1++;while (sz != 0)//其次和之前的循环方式一样 每次减少一个字节 ++ 把数值赋给arr1 但是这里需要知道 这里是常量字符串 所以需要arr1 的空间大于arr2{*str1 = *str2;str1++;str2++;sz--;}*str1 = '\0';//最后是把'\0'放到字符串的结尾
}
int main()
{char arr1[100] = "hello ";char arr2[] = "bitttt";my_strncat(arr1, arr2, 3);printf("%s", arr1);return 0;
}

strncmp(比较)

这里是比较前两个字节  

在给定 的长度范围内进行比较

这里你让我拷贝 我就进行拷贝 存在越界访问的情况

这里拷贝出来 但是程序崩溃了

strncmp的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<string.h>
char* my_strcmp(char* str1, char* str2, size_t sz)
{assert(str1 && str2);while (*str1 == *str2)//这里代码循环的条件就是只要相等就继续++ 然后遇见最后一个字符'\0'自然会跳出循环{if (sz == 0)//这里每次循环的时候会进行sz的-- 也就是对照字符的-- 如果不满足相等的条件 此时也就会跳出循环{return 0;}str1++; str2++;sz--;}return *str1 - *str2;//while (*str1 == *str2 && sz > 0)//{//	str1++; //	str2++;//	sz--;//}//return sz == 0 ? 0:(*str1 - *str2);//这里是使用一个三目操作符 如果满足sz循环 也就是返回0  不然就是返回差值 这样也是允许的}int main()
{char arr1[100] = "hello ";char arr2[] = "bitttt";int ret = my_strcmp(arr1, arr2, 3);printf("%d", ret);return 0;
}

 

代码使用的总结

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<string.h>
int main()
{//拼接限制函数的使用  这里拼接三个char arr1[100] = "slaidg ";char arr2[] = "dfilsug ";strncat(arr1, arr2, 3);printf("%s\n\n", arr1);//拷贝限制函数的使用 这里拷贝五个char arr3[] = "slaidg ";char arr4[100] = { 0 };strncat(arr4, arr3, 5);printf("%s\n\n", arr4);//比较函数的使用char arr5[] = "slaidg ";char arr6[] = "dfilsug ";char arr7[] = "slaidg ";int ret1 = strcmp(arr5, arr6, 3);//不相同 1   前三位比较的时候上面的大 arr5大int ret2 = strcmp(arr5, arr7, 3);//相同   0   前三位一样大printf("%d\n%d\n", ret1, ret2);
}

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

http://www.15wanjia.com/news/175258.html

相关文章:

  • seo优化搜索引擎网站优化推广网络关键词优化-乐之家网络科技wordpress系统介绍
  • 网站建设而网站建设为什么不给源代码
  • 上海网站建设哪家便宜wordpress 浏览次数 2
  • 个人做理财网站电子商务网站规划与网页制作
  • 杭州市萧山区哪家做网站的公司好企业所得税怎么收的
  • 一般网站建设方案嫦娥直播
  • 特色的南昌网站制作单业网站建设
  • 清远网站制作公司营销策划包括哪些内容
  • 哪个企业提供电子商务网站建设外包网站做的漂浮为什么不动
  • 弹性盒子做微网站登封网络推广公司
  • 网站开发需要学数学吗seo培训中心
  • 订阅号可以做微网站wordpress 禁用xmlrpc
  • 能打开所有网站的浏览器怎么设置网站名称
  • 网站开发课程介绍建立健康的人际关系
  • 网站建设空间怎么租用网站开发的税率是多少钱
  • 创新的响应式网站建设网络教育
  • 湖南企业网站制作公司潍坊做网站维护费用
  • 电子商务网站建设项目规划书txt免费全本电子书软件下载网站
  • 想自己做网站需要会什么运营商大数据精准营销获客
  • 中堂网站建设手表网站制作
  • 推广网站建设花费得多少钱儿童网站模板免费下载
  • 网站底部悬浮网络营销是网络销售吗
  • 深圳网站建设10强为wordpress首页添加关键词
  • 做印刷厂网站南城东莞网站建设
  • 北京网站建设 知乎打码挂机网站建设
  • 学校建设网站拓扑图企业官方网站制作
  • 苏中建设集团网站网址wordpress主题ux
  • 永久免费的网站服务器有哪些平台做网站和优化公司的宣传语
  • 帝国cms做网站流程深圳推广公司是什么
  • 传统类型的企业网站免费虚拟空间网站