C++知识点累积(八)字符串(std::string)

这篇博客详细介绍了C++中的std::string类,包括从字符串开始截取、指定位置截取、复制字符、数字转字符串、字符串连接、截取、获取长度、查找位置、插入、删除、替换、查找子串、字符操作、交换内容、流处理以及用STL算法操作string的方法,并给出了相应的示例代码。

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

2020-11-16 C++知识点累积(八)

std::string

头文件:#include
格式:std::string 变量名{字符串};
例如:

std::string str{
    "abcdefg"}

**

从字符串最开始截取字符功能:

**
格式:std::string 变量名{字符串,截取长度}

#include <iostream>
#include <string>
int main()
{
   
	std::string str{
    "abcdefg",3 };//截取字符串前3个长度
	std::cout << str;
}

结果:
在这里插入图片描述

**

从指定位置开始截取字符功能:

**
格式:std::string 变量名{字符串,起始位置,截取长度}

#include <iostream>
#include <string>
int main()
{
   
	std::string str{
    "abcdefg",2,3 };//从第3个开始截因为字符串下标是从0开始,截取3个长度
	std::cout << str;
}

结果:
在这里插入图片描述
中文截取就会有问题,中文需要1个中文对应截取2个长度,因为中文占两个字符

**

复制同一字符:

**
格式:std::string 变量名(要复制的个数,‘字符’)

#include <iostream>
#include <string>
int main()
{
   
	std::string str(4,'a');//复制4个a
	std::cout << str;
}

结果:
在这里插入图片描述
注:复制中文会出现问题

**

数字转换字符串:

**
格式:std::to_string(数字),数字可以为整数,小数,负数
例子:

#include <iostream>
#include <string>
int main()
{
   
	std::string str{
   "中国No."};
	str = str + std::to_string(1);//连接字符串用加号+
	std::string strA = "abc""ABC";//两个字符串常量连接可以直接连接不用加号+
	std::cout << str;
}

结果:
在这里插入图片描述
**

连接字符串:

**
格式:append(“字符串”)
例子:

#include <iostream>
#include <string>
int main()
{
   
	std::string str{
   "中国No."};
	str.append("1");
	//str.append("123",1);//append也可以截取想要的部分,格式append("字符串",截取长度)
	//str.append(50,"a");//append也可以和string一样复制,格式append(复制个数,"字符串")
	//str.append("abcdefg",2,3);//append也可以从指定位置开始截取,格式append(字符串,起始位置,截取长度)
	std::cout << str;
}

结果:
在这里插入图片描述
append()可以连接字符串,其他扩展用法和string一样

**

截取字符串功能:

**
substr()
格式:substr(起始位置,截取长度)
截取长度可以不需要,默认从起始位置截取到字符串最后
例子:

#include <iostream>
#include <string>
int main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值