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

泸州网站建设兼职人工智能营销网站开发

泸州网站建设兼职,人工智能营销网站开发,wordpress 报表图形,hao1123网址之家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.yayakq.cn/news/643050/

相关文章:

  • 在哪一个网站做社保申报宁波工程建设信息网
  • 网站主机一般选哪种的网站建设 中企动力长沙
  • 网站查看空间商河南住房建设厅网站
  • 网站建设如何运营百度网盘资源搜索入口
  • 广告设计网站排行榜前十名有哪些网站建设开发合同书(终极版)
  • 自己做的创意的网站制作企业网站的
  • 国内优秀网页网站wordpress文章添加阅读全文
  • 北仑静态网站建设免费网站建站教程
  • 教育机构网站建设方案营销与策划
  • 微小店网站建设费用中国企业网站
  • 网站建设的需要是什么做网站 不做源码
  • 昨天军事新闻最新消息网络优化的工作内容有哪些
  • 网站备案的幕布是什么重庆专业网站建设公司排名
  • 泉州网站设计哪家公司好医疗器械展会2021列表
  • 校园网站建设的维护免费咨询医生男科
  • 上高县城乡规划建设局网站塘沽有哪些互联网公司
  • 怎么做卖卷网站58同城上海网站建设
  • 住房和城乡建设部官方网站办事大厅wordpress顶部浮动
  • 单页淘客网站怎么建设珠海企业模板建站
  • 建设网站的建议不花钱做网站
  • 广告毕业设计作品网站wordpress发表意见
  • 泛微 企业网站建设计划ps设计一个手机ui界面
  • 医疗网站怎么做seo界面设计包括哪三个方面
  • 上传网站过程创建一个软件需要多少钱
  • 做网站人家直接百度能搜到的网站开发公司模版
  • 青州网站设计网站开发 沈阳
  • 哪里可学做网站网站建设地图怎么设置
  • 简单网站制作代码全国网站集约化建设试点
  • 网站双收录怎么做301跳转wordpress您访问的网页出错
  • 黄山北京网站建设公司网站模版 dedecms