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


    学习目标:

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


    学习内容:

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

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

    😊😊😊


    学习代码:

    实例学习:

    #include
    #include
    #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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    代码运行:

    在这里插入图片描述

  • 相关阅读:
    MySQL - 数据库的监控方式
    vue笔记
    java基本知识
    VueUse个人笔记
    PAM从入门到精通(十)
    运放参数-快速了解输入偏置电流Ib和输入失调电流Ib_os参数-运算放大器
    迭代器模式
    Linux常用命令——convertquota命令
    RabbitMQ和Kafka的区别
    Linux之输入输出重定向和管道
  • 原文地址:https://blog.csdn.net/weixin_45930808/article/details/126788845