C语言 strcat方法的使用方式

2023-05-16

           

strcat(char* str1,char*str2)将字符串str2拼接到str1的尾部

对于新手来说,使用这个方法只要将str1的内存大小给够了,这个方法就没有问题,当然这个方法在C程序看来是不安全的,在运行时会报错。

 

处理这个报错只需要将_CRT_SECURE_NO_WARNINGS这一段英文复制然后找到 项目属性——》c++——》预处理——》预处理定义然后编辑

 

将_CRT_SECURE_NO_WARNINGS复制到其中就行了

 

接下来就是正常运行结果

代码:

    char str[20] = "helloworld";

    strcat(str, "sss");

    printf("str = %s\n",str);

结果:

 

之前提到strcat这个方法在C程序看起来是不安全的,而strcat_s与strcat的作用相同,并且strcat_s在C程序认为是安全的。

strcat_s(char* str1,size_t size,const char* str2) ,size中要给到str1的长度并且加上str2的长度在加上终止符的长度,所以size就等于strlen(str1)+strlen(str2)+1,给少了会报错给多了也会报错接下来就是实际代码奉上;

int main()

{

    char str1[20] = "helloworld";

    char str2[] = "sss";

    strcat_s(str1,strlen(str1)+strlen(str2)+1,str2);

    printf("str1 = %s\n",str1);

    return 0;

}

运行结果:

 

char str1[20] = "helloworld";会被警告使用了未初始化的内存,这是因为我给了它20个字节的内存但是我只使用了11个字节的内存,而且剩下的9个字节是没有被写0的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言 strcat方法的使用方式 的相关文章

随机推荐

  • 傅立叶变换和拉普拉斯变换的区别

    傅立叶变换可以看做拉普拉斯变换的特殊形式 拉氏变换就是将原时域函数乘上一个与o相关的衰减 子 因为傅氏变换要求绝对可积 xff0c 但实际上很多函数不满足 xff0c 乘上衰减因子之后就基本都可以 了 之后做傅氏变换得来 假如这个为0就还是
  • 一篇让你完全弄懂GPIO的8种配置模式

    前言 配置GPIO口是我们软件开发中必须要掌握的 xff0c 每个模式的作用效果也是需要清楚的 如果连gpio应该配置成什么模式都不懂 xff0c 是无法进行后面的开发的 1 输入模式 1 1 浮空输入模式 I O端口的电平信号进入输入数据
  • 上位机与下位机的通讯

    一 概念 上位机 xff1a 是指人可以直接发出操作命令的计算机 xff0c 一般指PC 人机界面等 发出的命令首先给下位机 xff0c 下位机再根据命令解释成相应的时序信号 xff0c 直接控制相应设备 下位机 xff1a 直接控制设备获
  • OptiTrack Motive 使用教程

    相机标定 最近在使用Quanser的地面车做实验 xff0c 需要用到OptiTrack系统进行定位 xff0c 记录一下使用过程 xff0c 供需要的人参考 本文参考了以下博客 xff1a https blog csdn net banz
  • 一种int型、float型转char型以及回转方法

    摘要 xff1a 本文讲述一种可以在STM32F103C8T6上面运行的一种int型 float型转char型以及回转方法 xff0c 一般用于计算好的数据输入到传感器中或物联网器件中 xff1b 把传感器中的数据提取出来计算等等 实验时间
  • Ubuntu18 python多版本管理切换

    一 背景 Ubuntu18 04电脑 xff0c 安装有python2 7和python3 6 9两个python版本 xff0c 目前像安装另一款软件 xff0c 依赖要求是python gt 61 3 7 xff0c 但又不想删除pyt
  • 解决“E: Package ‘libqtgui4‘ has no installation candidate”无法安装qt4

    使用场景 xff1a Ubuntu20 4 xff0c VMware16pro 笔者在安装Ubuntu下的网络调试助手NetAssist xff0c 遇到了 E Package libqtgui4 has no installation c
  • 时序数据插值,对GPS采样数据进行线性插值

    此篇为上一篇的接续 xff0c 对时序数据进行插值 上篇文章 解析kml文件 xff0c 提取经纬度信息存入csv 将kml里面的信息提取了出来 xff0c 但是有些数据间隔太大 xff0c 甚至几十秒才一个采样点 xff0c 需求对这样的
  • Jetson nano/NX安装Opencv Cuda版

    一 卸载系统自带的opencv sudo apt span class token operator span get purge libopencv span class token operator span python span c
  • Jetson Xavier NX-EMMC重装系统

    Jetson xavier NX EMMC版本重装系统相对比较麻烦 xff0c 以下方法本人已经试过多次 xff0c 基本没有出现什么问题 一 安装虚拟机 安装虚拟机的步骤我们不多过述 xff0c 网上有许多博客讲述虚拟机安装 我们这里主要
  • JTAG、JLINK、ULINK、ST-LINK

    一 JTAG JTAG用的计算机的并口 xff0c JTAG也是一种国际标准测试协议 xff08 IEEE 1149 1兼容 xff09 xff0c 主要用于芯片内部测试 现在多数的高级器件都支持JTAG协议 如DSP FPGA器件等 标准
  • ubuntu18.04安装Ros(详细)

    Ubuntu18 04安装Ros本人已试过多次 xff0c 安装过程基本没出现问题 xff0c 而且该方法也可用在Jetson nano NX 上 一 设置软件源 xff1a 清华源 xff1a sudo sh c 39 etc lsb r
  • Jetson Xavier NX安装Mavros

    Px4飞控通过USB线连接Jetson Xavier NX xff0c 如果需要进行软连接 xff0c 即通讯 xff0c 需要下载Mavros功能包 xff0c 并通过启动命令进行连接 安装Mavros sudo apt install
  • Jetson Xavier NX 部署Yolov5

    大部分过程非原创 xff0c 写这篇文章主要是因为设备不同出的问题也各不相同 xff0c 需要到处去找解决方法 xff0c 因此我把配置过程中遇到的全部问题以及解决方法记录在此 注 xff1a 该博客原文来自Jetson nano NX 部
  • Yolov5 更改识别窗口大小

    启动yolov5时 xff0c 会因为像素太大导致占据整个桌面 xff0c 这样非常影响使用和操作 xff0c 我们可以通过opencv中的resize函数来修改识别窗口的像素大小 xff0c 这样操作就方便多了 原代码中 通过修改cv2
  • MCS-51系列单片机指令系统分类

    51系列单片机共有111条指令 xff0c 这些指令的集合称为指令系统 常用的分类为以下几种 xff1a 按位寻址方式 xff1a 1 寄存器寻址 2 直接寻址 3 寄存器间接寻址 4 立即寻址 5 变址寻址 6 相对寻址 7 位寻址 按功
  • ubuntu20.04安装ROS【详细】

    Ubuntu20 04安装ROS与Ubuntu18 04大差不差 xff0c 安装过程基本没出现问题 按以下教程操作即可 一 更换源 xff1a 1 备份源文件 sudo cp etc apt sources list etc apt so
  • Ubuntu 16.04设置开机自启动脚本

    1 创建脚本 sh文件 可以在 home user Documents scripts路径下建立名为auto run test sh的文件 xff1b auto run test sh里面写上具体要做的事 xff0c 例如我这里 xff1a
  • ubuntu 修改默认python版本

    1 查看当前默认版本和存放位置 2 安装python3 8 2 删除原软连接 xff0c 生成新版本软连接 python V 输出 xff1a Python 2 7 17 whereis python or which python 输入
  • C语言 strcat方法的使用方式

    strcat char str1 char str2 将字符串str2拼接到str1的尾部 对于新手来说 xff0c 使用这个方法只要将str1的内存大小给够了 xff0c 这个方法就没有问题 xff0c 当然这个方法在C程序看来是不安全的