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

苏州正规制作网站公司百度网首页

苏州正规制作网站公司,百度网首页,夏天做啥网站致富,站群系统软件目录 函数strcat 注意 那么们要怎么防止这种越界的情况呢? 函数strncat 注意 函数strcpy 和 函数strncpy 注意 函数strcat 功能:将两个字符串拼接起来,strcat(char *dest,const char *str)头文件&…

目录

函数strcat

注意

那么们要怎么防止这种越界的情况呢?

函数strncat

注意

函数strcpy 和 函数strncpy

注意


函数strcat

  1. 功能:将两个字符串拼接起来,strcat(char *dest,const char *str)
  2. 头文件:#include
  3. 返回值:返回一个拼接好字符串的指针 -----等价于dest 数组名代表首元素地址 也可以另外顶一个指针去接收
dest:指向的目标内存,拼接好的字符串最后存储的地方
str:需要拼接的字符串,在dest后面拼接上去
strcat(数组名,字符串)

注意

  • strcat函数是不限制拼接字符的大小,所以可能会出现超过最大范围的情况

那么们要怎么防止这种越界的情况呢?

        strcat函数没法系统自动的帮我计算越界情况,只能人工的去计算,还有一种更加安全且不会越界的函数

函数strncat

  1. 功能:将两个字符串凭借起来
  2. strncat(char *dest,const char *str,n)
  3. strncat(char dest[],const *str .n)
  4. 头文件#include
  5. 返回值:返回拼接好字符串的指针,等价于数组名dest
dest:指向目标的内存,最终存储拼好的字符串
str:需要拼接的字符串
n:可以拼接最多str字符串中多少个字符进去目标内存 通常是 sizeof(dest)-strlen(str)-1
sizeof(dest)-strlen(str)-1   这里的-1是为了给结束标识\0留一个位置
strncat(数组名,字符串,需要拼接的个数)

注意

strncat函数最多可以拼接n+1个字符,+1是为其留下结束标志\0;n是str中代表多少个字符进去拼接。

代码运用:

#include <stdio.h>
#include <string.h>
int main()
{char s[15] = "abc";char x[15] = "abc";// strcat(s,"ooopppqqq");  //会返回一个指针 我们可以用一个char指针来存 也可以不用char *p = strcat(s, "ooopppqqq");printf("%s\n", s);printf("%s\n", p);char *q = strncat(x, "asaadfffadfghjklqerer",sizeof(x)-strlen(x)-1);printf("%s\n",q);printf("%s\n",x);return 0;
}

函数strcpy 和 函数strncpy

  1. 功能:都是将一个字符串拷贝到一个数组中
  2. 函数strncpy相比于strcpy更加的安全。 推荐使用strncpy
  3. 头文件 #include
  4. strcpy(char *dest,char *str) <==> strcpy(char dest[],char *str) <==> strcpy(数组名,字符串)
  5. strncpy(char *dest,char *str,n) <==> strncpy(char dest[],char *str,n) <==> strcpy(数组名,字符串,复制的个数)
  6. dest是数组名,首元素的地址
  7. str一个指针字符串的指针,代表字符串的地址

注意

  • strcpy和strncpy两个函数都会把原先的数组里面的元素覆盖掉
  • strncpy()可以复制n+1个字符到数组dest中,最后一个字符是结束符\0,如果字符串最后没有结束标志\0,那么就不是一个合法的字符串,可能让程序报错。

代码运用:

#include <stdio.h>
#include <string.h>
int main()
{char s[6] = "abc";char x[6] = "def";char ss[] = "hello";char *p = strcpy(s, ss);printf("%s\n", s); // 会把abc覆盖掉printf("%s\n", p);strncpy(x, ss, sizeof(x) - 1);printf("%s\n", x);//会把def覆盖掉 return 0;
}

总结:strncpy函数中-1是为了让最后一位是结束标识符,让其是一个合法的字符串 strncpy最多可以放n+1个字符,n是实际复制过去的字符个数 +1是给结束标识留一个位置 例如 strncpy(x,ss,5); x是有六个位置的,我们要留一个位置出来 所以strncp最多可复制5+1个

http://www.dtcms.com/wzjs/198081.html

相关文章:

  • 网络营销资讯网站今日头条新闻大事
  • c 做网站后端seo优化方向
  • 在哪个网站去租地方做收废站网络营销策划推广
  • 网站制作报价大约成都网站建设团队
  • wordpress首页怎么控制厦门百度关键词seo收费
  • 做网站需要哪些证书南宁网站推广营销
  • 网站做游戏活动最新新闻
  • 足球网站建设搜索百度下载安装
  • 做网站日入100十大骗子教育培训机构
  • 门户网站微信服务号建设方案国外b站浏览器
  • 网站建设需求模板下载做电商一个月能挣多少钱
  • 保定建站模板搭建郑州关键词排名公司电话
  • 做网站哪些公司wordpress建站
  • 濮阳哪里做网站郑州seo全网营销
  • wordpress 文章之显示标题河南智能seo快速排名软件
  • php网站开发设计企业培训课程体系
  • 新冠变异毒株最新消息seo编辑是干什么的
  • web网站开发文档模板移动端优化
  • 做的比较好的小众网站网络优化公司有哪些
  • 电商模板网站微信营销的方法有哪些
  • 做刷网站怎么赚钱网站排名优化师
  • 帝国cms 做的博客网站郴州网络推广公司排名
  • 辽宁建设工程信息网投标流程沈阳seo技术
  • wordpress 企业网站主题seo和sem是什么意思
  • 做公司官网找谁济南网站优化
  • 做殡葬名片的网站公司网络推广方法
  • soho外贸网站建设大地seo视频
  • 男女做暖暖的试看网站酥酥影视贵阳网络推广外包
  • 电梯网站建设上海抖音seo公司
  • html网页制作总结网站seo标题优化技巧