strcat函数与strncat函数——追加字符串

本文介绍了C语言中的字符串连接函数strcat和strncat的使用方法。strcat用于将一个字符串追加到另一个字符串的末尾,而strncat允许指定追加的字符数,提供了更精细的控制。通过示例代码展示了如何使用这两个函数,并指出在追加过程中,原始字符串会在目标字符串结尾添加''作为结束符。当追加的字符数超过可用空间时,strncat会自动截断追加的内容。
摘要由CSDN通过智能技术生成

头文件:

string.h

函数的声明:

char *strcat( char *dest, const char *source 

                      目标字符串           原始字符串

char *strncat( char *dest, const char *source, size_t count )

                        目标字符串          原始字符串           原始字符串追加的目标字符串的个数

返回值:

字符串首地址

用法:

给定目标字符串首地址,原始字符串首地址,就可以将原始字符串追加的目标字符串

给定目标字符串首地址,原始字符串首地址,原始字符串追加的目标字符串的个数n,就可以将原始字符串n个追加的目标字符串

区别:strncat比strcat更精细,strncat能操作追加时字符个数

实例:

主要以strncat为例,strcat与它基本一致

#include<stdio.h>
#include<string.h>
int main() {
	char arr1[20] = "abcdef";
	char arr2[] = "ghij";
	strncat(arr1, arr2, 4);
	printf("%s\n",arr1);
    return 0;
}

 注意:

在追加过程中原始字符串找到目标字符串结尾的“\0”,在“\0”及其之后追加

在追加的最后其实放了“\0”

仍以上面为例,strncat(arr1,arr2,4)——>将arr2中“ghij”四个字符加到“abcdef”后,但实际上追加完后,在“abcdefghij”的末尾加了‘\0’

#include<stdio.h>
#include<string.h>
int main() {
	char arr1[50] = "abcdef\0ssssssssss";//追加从\0开始向后
	char arr2[] = "ghij";
	strncat_s(arr1, arr2, 4);
	printf("%s\n",arr1);
}

调试一下

 

 那若如果我们想要追加4个字符,结果可以追加的字符只有3个会怎样?

#include<stdio.h>
#include<string.h>
int main() {
	char arr1[50] = "abcdef";
	char arr2[] = "ghi";
	strncat_s(arr1, arr2, 4);
	printf("%s\n",arr1);
}

 

 发现函数只会将那三个字符追加完就停止了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子13

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值