C++中String类对象的初始化和基本用法

1. 初始化的几种方法和错误案例

首先当然是包含头文件了:

#include<string>

下面是几种初始化的方法,直接上代码了:

//**初始化的几种方式**//

	string s1("Hello");
	cout <<"s1= "<< s1 << endl;
	string s2(8, '*');		//8个连续的*
	cout << "s2= "<<s2 << endl;
	string s3 = "Liubing";
	cout << "s3= " << s3<<endl;
	string s4;
	s4 = 'F';
	cout << "s4= " << s4 << endl;

几种错误写法:

  • string s4=‘F’; 错误!但是上面代码里的那种s4写法是可以的。
  • string s5=1; 错误!
  • string s5;s5=1; 不报错,但是运行结果显示不出来。

2. 常用的成员函数及基本操作

这些用法主要包括,赋值、连接字符串、替换、删除等等,具体看代码,为了当做练习,就特意编了个练练手:

	//**常用的成员函数、操作**//

	//1、求长度length()和size()都可
	cout << "length of s1: " << s1.length() << " or " << s1.size()<<endl;
	//2、= string对象赋值
	string s5 = s1;
	cout << "s5= " << s5 << endl;
	//3、+ 连接两个string对象
	s5 += s3;
	cout << "s5+s3= " << s5 << endl;
	//4、substr() 提取子字符串函数
	string s6;
	s6 = s5.substr(5, 7);		//s5下标5开始7个字符赋值给s6
	cout << "Name: " << s6 << endl;
	//5、insert() 插入字符函数
	string s7(" is a student from ZJU");
	s6.insert(7, s7);		//将s7插入到s6中下标为7处,即末尾(从0开始数)
	cout << "Insert campus info: " << s6 << endl;
	//6、find() 寻找字符串函数
	int p = s7.find("ZJU");		//查找ZJU第一次出现的地方,找到返回Z出现的位置,找不到返回string::npos静态常量
	cout << "String ZJU is at " << p << endl;
	//7、replace() 替换字符串函数
	string s8("SDU");
	s7.replace(p, 3, s8);		//将p位置处连续3个字符换成s8,即ZJU换成SDU
	s3.insert(7, s7);		//替换之后重新插入到s3末尾
	cout << "Replace campus info: " << s3 << endl;
	//8、erase() 删除字符串函数
	int p1 = s3.find(" is a student");	//先定位
	s3.erase(p1);	//删除下标p1之后的所有字符
	cout << "Delete the campus info: " << s3 << endl;

课上老师说,以后尽量别用char什么的了,就用string吧。想了想,string的好处主要是因为有这么多好用的成员函数,这可能是它的优越之处吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值