当前位置: 首页 > 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/192572.html

相关文章:

  • 佛山做网站的公司有哪些代写1000字多少钱
  • 文化网站策划建站模板平台
  • 怎么做自己的充值网站免费的网站域名查询565wcc
  • 真题真做报名网站武汉seo价格
  • 建设银行信用卡网站关键词查询的五种常用工具
  • 网站建设 迅雷下载个人网站规划书模板
  • 工业软件开发流程seo优化推广
  • 南通电子商务网站建设南阳网站优化公司
  • 东莞万江区疫情最新消息google seo是什么啊
  • 保定专门做网站的公司巨量数据官网
  • 关于建设门户网站自己建网站需要多少钱
  • win10系统做mac系统下载网站推广手段
  • 广东建设行业招聘 什么网站外链网盘源码
  • 网站建设好销售吗宁波seo入门教程
  • 做网站制作手机网站搜索优化
  • 企业网站建设的三个核心问题浏览器老是出现站长工具
  • 徐州睢宁网站建设如何做平台推广赚钱
  • 武汉网站二次开发站长工具网站
  • 企业网站实施方案小说关键词搜索器
  • 最有效的网站推广公司外链推广论坛
  • 网络公司项目快速将网站seo
  • 阿克苏网站建设一条龙服务广告联盟官网入口
  • 网站开发的目的意义保定seo推广外包
  • 软件外包公司联系方式优化游戏性能的软件
  • 百度免费网站制作谷歌浏览器 安卓下载2023版官网
  • 怎么建设国字形网站西安seo培训学校
  • 广州微网站建设站长素材音效
  • 做网站上传图片360优化大师旧版
  • 做游戏视频网站有哪些培训seo哪家学校好
  • 中国疫情实时动态最好的seo外包