string类笔记

本文详细介绍了C++中string类的使用,包括字符串赋值、初始化,以及查找、拼接、替换等核心操作。通过实例演示了如何使用`assign`、`+=`、`append`、`find`、`replace`等函数,适合初学者理解基本的字符串操作技巧。

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

#include"bits/stdc++.h"//string类 
using namespace std;
int main()
{
//	printf("%d\n",123);
//	printf("%s\n","abc");

	string s1;//创建string类 
	
	char* s="abcd";//字符串 
	string s2(s);
	cout<<s2<<endl;//a(b):用b给a赋值
	
	string s3(13,'b');
	cout<<s3<<endl;//初始化s3为13个‘b’字符 
	 
    string s4=s3;
	cout<<s4<<endl; //用s3给s4赋值
	
	string s5;
	s5.assign(s,2);
	cout<<s5<<endl;//把字符串s的前n个字符赋给s5,限制s仅为char* 
	
	s3.assign(2,'c');
	cout<<s3<<endl;//改变s3为2个c
	
	s3+=s5;//重载运算符+= 
	cout<<s3<<endl; //也就是拼s5至s3
	//ps:没有-=
	s3.append(s4,0,3);
	cout<<s3<<endl; //拼接s4从0位开始的3个字符至s3结尾 
	
	int a=s3.find('b');
	int b=s3.find("bb");//找最先出现的位置 
	cout<<a<<" "<<b<<endl;
	//find向后 rfind向前查找 
	a=s3.rfind(s,4,2);//从4位置查找s的前2个字符第一次位置。
	b=s3.rfind(s5,4);//找最后出现的位置 //从0开始 
	cout<<a<<" "<<b<<endl; 
	
	s3.replace(0,1,"NBb");
	cout<<s3<<endl;//0-1位置 替换为 string
	
	int ab=s4.compare(s3);
	cout<<ab<<endl; //比较长度,返回-1或1 
	
	cout<<s3[3]<<" "<<s3.at(3)<<endl;//访问3号位
	
	s3.insert(1,s2);
	cout<<s3<<endl;//在1处插入s2 
	s3.insert(4,4,'h');cout<<s3<<endl;// 在4处插入4个h 
	s3.erase(0,2);cout<<s3<<endl;//删除0处及后2个字符 
	
	string s6=s3.substr(1,3);//返回由1处开始的3个字符组成的字符串 
	cout<<s6;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值