C++学习日记——字符串拷贝、拼接、比较函数

本文详细介绍了C++中用于字符串处理的函数,包括strlen、strcpy、strncpy、strcat、strncat、strcmp和strncmp。通过实例代码演示了这些函数的使用方法,如字符串长度获取、拷贝、拼接和比较,帮助读者深入理解C++字符串操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标:

学习掌握C++之字符串拷贝、拼接、比较函数
在这里插入图片描述


学习内容:

字符串拷贝、拼接、比较strcpy、strcat、strcmp
需要包含cstring文件
😊😊😊

strlen:获取字符串长度,返回字符串长度size_t类型
strcpy:拷贝字符串,将目标字符串拷贝到源字符串中,进行覆盖,而不是拼接
strncpy:选择拷贝n个字符,将目标字符串拷贝到源字符串中,从首地址开始覆盖,若后面部分没有覆盖到,将保留
strcat:字符串拼接,将后面的目标字符串拼接到源字符串中,但不允许超出原目标的内存空间
strncat:选择拼接n个字符,字符串拼接,将后面的目标字符串拼接到源字符串中,但不允许超出原目标的内存空间
strcmp:字符串比较,按ascii码逐位比较,返回值相等为0,大于为>0,小于为<0(不同操作系统肯不一样,可能返回ascii码差值)
strncmp:字符串前n个字符比较,其他与strcmp无异

😊😊😊


学习代码:

实例学习:

#include<iostream>
#include<cstring>
#pragma warning(disable:4996)
using namespace std;

int main() {
	//strlen
	char arr[20]="helloworld";
	size_t a = strlen(arr);
	cout << a << endl;
	cout << arr << endl;
	//strcpy
	char* p1 = strcpy(arr, "iishi");
	cout << p1 << endl;
	cout << arr << endl;
	//strncpy
	char* p2 = strncpy(arr, "nihao", 2);
	cout << p2 << endl;//只覆盖前面两个字符,后面并未改变
	cout << arr << endl;
	//strcat
	char* p3 = strcat(arr, "!");
	cout << p3 << endl;
	//strncat
	char* p4 = strncat(arr, "!23", 2);//拼接!2在后面
	cout << p4 << endl;

	//字符串比较
	const char* p5 = "hello";
	const char* p6 = "world";
	int num=strcmp(p5, p6);//按顺序比较ascii码大小,相等返回0.大于返回正数,小于返回负数
	cout << num << endl;

	//strncmp 比较前n个字符
	int c=strncmp("add 10 10", "add", 3);
	cout << c << endl;

	//stricmp 忽略大小写比较
	int cc = stricmp("hello", "HELLO");
	cout << cc << endl;

	//strincmp  比较前n位,忽略大小写


	return 0;
}

代码运行:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不说二话的自家人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值