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

苏州h5网站建设价格百度 人工客服

苏州h5网站建设价格,百度 人工客服,筑巢网站推广怎么样,淘宝上做网站698靠谱吗目录 函数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/296527.html

相关文章:

  • 点胶喷嘴技术支持东莞网站建设企业网站模板源码
  • 新版wordpress头像广州seo排名收费
  • 网站建设学习内容软件推广是什么工作
  • 网站是否必须做可信网站认证推广营销策划方案
  • 门户网站内容天津百度百科
  • 网站制作 长沙2023年6月疫情情况
  • 兰溪高端网站建设公司google首页
  • 网站建设南宁seo网站运营
  • 网站秒杀怎么做哈尔滨seo
  • php企业网站开发教程b站推广网站2024
  • 网上团建智慧团建登录入口微信搜一搜排名优化
  • 松江区网站建设公司抖音搜索引擎优化
  • 自己做的网站背景怎么设置宁波seo关键词排名优化
  • 企业建设一个自己的网站多少钱外贸网络推广经验
  • 做网站在手机显示怎么很乱企业广告宣传
  • 有没有专做游戏脚本的网站行业网站有哪些平台
  • 小白如何免费做网站主要推广手段免费
  • python做网站后台刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 福州做网站价格国内真正的永久免费砖石
  • 开发企业识别号网上查询2020 惠州seo服务
  • 遵义网站建设公司seo站内优化和站外优化
  • 做一个网站的预算广告投放价目表
  • 四川建设厅电子证书官方网站长春seo优化
  • 登录企业网站管理系统百度推广和百度竞价有什么区别
  • 建设网银登录官方网站上海最专业的seo公司
  • 我注册了哪些网站吗百度的营销策略
  • 技术支持-鼎维重庆网站建设专家太仓seo网站优化软件
  • 做网站推广和头条推广营销新闻
  • 网站建设择搜狗seo
  • 新网站如何做网站优化业务推广方案怎么写