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

中国建设银行网站客户注册网站增加栏目后面要怎么做

中国建设银行网站客户注册,网站增加栏目后面要怎么做,漯河市万金镇网站建设,网站开发程序哪个好欢迎来CILMY23的博客喔#xff0c;本期系列为【【C语言】长篇详解#xff0c;字符系列篇2-----“混杂”的字符串函数#xff0c;字符串函数的使用和模拟实现【图文详解】#xff0c;图文讲解各种字符串函数#xff0c;带大家更深刻理解C语言中各种字符串函数的应用#x… 欢迎来CILMY23的博客喔本期系列为【【C语言】长篇详解字符系列篇2-----“混杂”的字符串函数字符串函数的使用和模拟实现【图文详解】图文讲解各种字符串函数带大家更深刻理解C语言中各种字符串函数的应用感谢观看支持的可以给个赞哇。 前言 上一篇说到在C语言中我们常常碰见各种字符也需要对字符进行处理那C语言提供了一系列的库函数来帮助我们处理各种情况。字符函数有字符串函数字符分类函数还有字符转换函数……本期我们将深入了解各种字符串函数strcpystrcatstrcmpstrncpystrncat 目录 一、strcat函数 二、strcmp函数 三、strncpy函数 四、strncat函数 五、strncmp函数 一、strcat函数 该函数可以在cplusplus网站查询到strcat - C Reference (cplusplus.com) 函数原型如下 char * strcat ( char * destination, const char * source ); 函数介绍如下  返回值和使用案例 先简单了解一下strcat函数吧strcat函数它的功能是Concatenate strings意思是连接字符串。concatenate它的意思如下 了解完这个功能后我们大致也清楚了strcat的作用就是拼接字符串啦那函数的使用如下 #includestdio.h #includestring.hint main() {char str1[50] hello ;char str2[] CILMY23;strcat(str1, str2);printf(%s , str1);return 0; } 我们可以把第二个字符串拼接到第一个字符串末尾这样就concatenate起来了。  结果如下 总结 1.strcat的功能是拼接字符串目标空间要有\0,并且源字符串要有\0。 2.strcat的使用需要包括头文件string.h 3.strcat的返回地址是destnation的地址 4.目标空间要足够大并且可以修改 strcat的模拟实现  我们看以下这段最简单粗暴的代码思路是比较直接的先遍历所需要追加的字符串空间找到\0的位置然后从\0的位置开始用新的字符串覆盖最后添加\0就行。  char* my_strcat(char * dest, const char* src) {assert(dest);assert(src);char* ret dest;while (*dest ! \0){dest;}while (*src ! \0){*dest *src;dest;src;}*dest \0;return ret; } 逻辑图如下所示 代码还可以进行优化那如何优化呢实际上我们可以发现后面一段有点类似于把str2给它复制到str1当中这不就是我们字符篇1学到的strcpy嘛不懂可以跳转连接http://t.csdnimg.cn/CvvpI  所以第二步的优化就可以写成这样 char* my_strcat(char * dest, const char* src) {assert(dest src);char* ret dest;while (*dest ! \0){dest;}strcpy(dest, src);return ret; }0 二、strcmp函数 该函数可以在cplusplus查找到strcmp - C Reference (cplusplus.com) 函数原型如下 int strcmp ( const char * str1, const char * str2 ); 函数介绍如下 函数返回值和使用案例 简单了解一下strcmp函数吧它的功能是Compare two stringsCompares the C string str1 to the C string str2.比较两个字符串它的返回值是如果是第一个字符串小于第二个字符串就返回一个小于0的值如果第一个字符串和第二个字符串相等就返回0如果第一个字符串大于第二个字符串就返回一个大于0的值。 strcmp的使用 #includestdio.h #includestring.hint main() {char str1[] hello ;char str2[] CILMY23;int ret strcmp(str1, str2);printf(%d , ret);return 0; } 解析因为h是在ASCII码比C大的所以返回了1 总结 1.strcmp实际是按照两个字符串对应位置一个个进行比较的而且是按照字典序ASCII码值比较的 2.strcmp的使用需要包括头文件string.h 3.返回值 ◦    第⼀个字符串大于第二个字符串则返回大于0的数字 ◦    第⼀个字符串等于第二个字符串则返回0 ◦    第⼀个字符串小于第二个字符串则返回小于0的数字 strcmp的模拟实现 字符串相对比的三种情况相等大于和小于如果字符串两个相对比是相等的话那指针就需要往后走它们结束的标志是‘\0’如果走到了这个‘\0’那说明两个字符串是相等的出了循环后那说明二者不相等就进行判断根据判断后写返回值。 int my_strcmp(const char* str1, const char* str2) {assert(str1 str2);while (*str1 *str2){if (*str1 \0)return 0;str1;str2;}if (*str1 *str2)return 1;elsereturn -1; } 当然后面的返回值也可以用指针解引用后相减得到的值不固定主要是灵活使用 int my_strcmp(const char* str1, const char* str2) {assert(str1 str2);while (*str1 *str2){if (*str1 \0)return 0;str1;str2;}return *str1 - *str2; } 这是当str1和str2相等的情况下注意图片中红色的是字符数组而黑色的str1和str2是指针。  当二者不相等的时候  就会马上比对出结果。 我写的几个测试用例也给大家放这了 int main() {char str1[] CILMY23;char str2[] CILMY23;char str3[] ;char str4[] helllo ;int ret my_strcmp(str1, str2);printf(%d \n, ret);ret my_strcmp(str3, str2);printf(%d \n, ret);ret my_strcmp(str4, str2);printf(%d \n, ret);ret my_strcmp(str3, str4);printf(%d \n, ret);return 0; } 三、strncpy函数 如果讲完以上三个函数相信大家对其都有个大致的了解了那以上三个strcpystrcatstrcmp都是长度不受限制的字符串函数它们只会一股脑的走到尾巴我想要只复制几个字符链接几个字符比较几个字符这时候库函数就给我们提供了三个加n的字符串函数它们分别是strncpystrncatstrncmp函数有了这三个函数我们就可以指定几个字符来进行相对应的操作。 它们都在相对于的原型基础上增加了一个形参size_t num。 首先我们先来认识一下strncpy这个函数strncpy - C Reference (cplusplus.com) 函数原型如下 char * strncpy ( char * destination, const char * source, size_t num ); 函数介绍如下  函数返回值和使用案例如下 函数的使用呢重点还是如果字符串不够怎么办 #includestdio.h #includestring.hint main() {char str1[] CILMY23;char str2[50];strncpy(str2, str1, 9);printf(%s , str2);return 0; } 我们知道九个复制是远超过str1的数量的那内存里复制了什么过去呢 通过下图我们可以看到在23后面放的是\0所以如果num超过源字符串之后就会不停的拷贝\0直到复制结束。 总结 •    拷贝num个字符从源字符串到目标空间。 •    如果源字符串的长度小于num则拷贝完源字符串之后在目标的后边追加0直到num个。  strncpy的模拟实现 char* my_strncpy(char* dest, const char* src, size_t num) {char* ret dest;assert(dest src);while (*dest *src){if (num 1){*dest \0;break;}num--;}while (num 1){*dest \0;num--;}return ret; } 上述代码是我第一种思路根据原先代码改造的其实跟原来差不多只是这里多了个num操作因为我的循环它会先赋值后判断所以在我已经把C赋值给str2空间的时候num还是3I赋值给完str2的时候num--后才是2我L又复制完了num--后1了这个时候我已经操作三次赋值了但是num并不为0所以此刻等于1的时候要将0赋值进去然后跳出循环再进行赋值‘\0’操作。 我的第二种思路就是通过判断numnum如果为0就结束了。因为源字符串的结束标志是\0,那不是\0那我就是在复制\0之前的字符。那我就先赋值把src的内容复制进去因为复制进去后dest和src都指向下一个位置了这时候我把*dest直接用‘\0’覆盖如果num--后为0这个时候我就刚好只拷贝一个字符那如果num是大于源字符串函数的那么在复制完源字符串后*src就停留在‘\0’ 了这时候只要不断给dest添加\0就完事了。 char* my_strncpy(char* dest, const char* src, size_t num) {char* ret dest;assert(dest src);while (num--){if (*src ! \0){*dest *src;}*dest \0;}return ret; } 测试部分这里我是把原先的Cplusplus网站中的案例扣过来用了结果是一样的 int main() {char str1[] To be or not to be;char str2[40];char str3[40];/* copy to sized buffer (overflow safe): */my_strncpy(str2, str1, sizeof(str2));/* partial copy (only 5 chars): */my_strncpy(str3, str2, 5);str3[5] \0; /* null character manually added */puts(str1);puts(str2);puts(str3);return 0; } 我的逻辑可能会比较复杂如果你有其他的方法欢迎在评论区探讨。 四、strncat函数 函数原型如下strncat - C Reference (cplusplus.com) char * strncat ( char * destination, const char * source, size_t num ); 函数介绍如下 函数返回值和使用案例如下 strncat的模拟实现 首先我仍然按照之前strncpy的第二种思路进行实现我们需要先找到需要拼接的dest的尾巴\0,然后从\0开始拼接。拼接的数量还是由num来决定。 char* my_strncat(char* dest, const char* src, size_t num) {char* ret dest;assert(dest src);//找尾while (*dest ! \0){dest;}while (num--){if (*src ! \0){*dest *src;}*dest \0;}return ret; } 测试用例以及结果如下 int main() {char str1[20];char str2[20];strcpy(str1, To be );strcpy(str2, or not to be);my_strncat(str1, str2, 6);puts(str1);return 0; } 五、strncmp函数 strncmpstrncmp - C Reference (cplusplus.com) 函数原型如下 int strncmp ( const char * str1, const char * str2, size_t num ); 函数介绍如下 函数返回值和使用案例如下  strncmp的模拟实现 int my_strncmp(const char* str1, const char* str2, size_t num) {assert(str1 str2);while (num--){if(*str1 *str2){if (*str1 \0)return 0;str1;str2;}elsereturn *str1 - *str2;} } 该思路来自之前写过的我们只需要将不等于的返回即可  感谢各位同伴的支持本期字符函数篇2就讲解到这啦如果你觉得写的不错的话可以给个一键三连点赞关注收藏若有不足欢迎各位在评论区讨论。
http://www.pierceye.com/news/73100/

相关文章:

  • 公司制作网站需要电影网站cpa怎么做
  • 文明网站建设方案苏州网站建设培训学校
  • 广西网站建设服务好wordpress建个人博客
  • 做黑网站吗wordpress注册文件
  • 做网站的框架遵义市建设厅网站
  • 购物网站策划案营销方案论文
  • 定期更新网站中国做的电脑系统下载网站
  • 做安全题目是哪个网站wordpress商城主体
  • 网站建设公司基本流程我想建网站
  • 网站怎么做背景nginx wordpress 404.php
  • 做网站准备材料做网站市场价格多少
  • 山东网站设计公司广州网络公关公司
  • 网站建设体会中国建设劳动协会网站
  • 如何做一个简单的网站代练中介网站有得做吗
  • 建个公司网站需要多少钱注册会计师报名条件
  • 怎样用自己的电脑做网站wordpress设置登陆口
  • 房地产培训网站建设wordpress 注册密码
  • 单位门户网站是什么建设电商网站流程
  • 先建网站还是先做网页东坑镇网站建设
  • 李沧网站建设电话网站开发合同官司
  • 可以提供排版的网站app开发需要哪些知识
  • asp网站设计代做空壳网站主体注销
  • 陵水媒体建站哪家好wordpress最大文件
  • 建设工程询价网站有哪些个人网站的搭建
  • 山西众邦建设集团网站ps在线网页版
  • 网站建设定制网站建设公司哪家好专业郑州网站建设
  • 深圳做网站的wordpress调用排序从大到小
  • 百度电脑版登录网站企业管理公司介绍
  • dw做的网站怎么上传图片网站建设diy
  • 建个网站需要多少钱费用下载小程序安装