String类型的用法(详细解说)

String类型的用法(详细解说),第1张

对于字符串,除了按照C语言的字符数组处理外,C++还提供了一种更加简单的处理方法,那就是string类。使用string类的第一步是采用#include包含头文件

接下来介绍string类型的详细用法:

先定义两个string的对象str1,str2

1、str1.length()或str1.size() :获取str1的长度

2、str1.append(str2) :把str2追加到str1后面

     str1.append(str2,x,n) :把str2从第x个字符开始的n个字符追加到str1后面

     str1.append(n,'z') :把n个字符z追加到str1后面

3、str2.assign(str1,x,n) :把str1从位置x开始的n个字符赋值给str2

      str2.assign(n,'z') :把n个z字符赋值给str2

4、c=str1.at(n) :查找str1的第n个字符,赋值给c

5、num=str1.find(x) :查找字符x第一次出现的位置,赋值给num

6、num=str1.rfind(x) :查找字符x最后一次出现的位置,赋值给num

7、str1.replace(x,n,str2) :把str1从第x个字符开始的n个字符替换为str2

8、com=str1.compare(str2) :把str1与str2l进行比较(str1小,返回-1;str1大,返回1)

     com=str1.compare(x,n,str2) :把str1从第x个字符开始的n个字符与str2进行比较

9、str2 = str1.substr(x, n) :把str1从第x个字符开始的n个字符赋值给str2

10、str1.insert(x, str2) :把str2插入到str1中,开始位置是x

       str1.insert(x, n, 'z') :从str1的位置x,插入n个z

11、str1.erase(x, n) :删除str1从位置x开始的n个字符

12、str1.clear() :清空str1

13、str1.swap(str2) :交换str1与str2

下面是具体的代码示例:

# include 
# include 
using namespace std;
int main()
{
	string peoPle, aniMal, gOd, sOn;
	char mAn;
	int num, com, len;
	cin >> peoPle;
	cin >> aniMal;
	len = peoPle.length(); //获取peoPle的长度
	cout << len << endl;
	len = aniMal.size();   //获取aniMal的长度(同length)
	cout << len << endl;  
	peoPle.append(aniMal,2,4); //把aniMal从第二个字符开始的4个字符追加到peoPle后面
	cout << peoPle << endl;
	gOd.assign(peoPle,3,2);  //把peoPle从第3个字符开始的两个字符赋值给gOd
	cout << gOd << endl;
	gOd.assign(20,'X');     //把20个X字符赋值给gOd(覆盖上一次)
	cout << gOd<< endl;
	mAn=peoPle.at(4);       //查找位置4的字符
	cout << mAn << endl;
	num = aniMal.find('j');  //查找j第一次出现的位置
	cout << num << endl;
	num = gOd.rfind('X');   //查找X最后一次出现的位置
	cout << num << endl;
	gOd.replace(2, 5, aniMal); //把gOd从第二个字符开始的5个字符替换为aniMal
	cout << gOd << endl;
	com=peoPle.compare(aniMal); //把peoPle与aniMal进行比较(peoPle小,返回-1)
	cout << com << endl;
	com = peoPle.compare(8,2,aniMal);//把peoPle从第8个字符开始的两个字符与aniMal进行比较
	cout << com << endl;
	sOn = peoPle.substr(3, 4);  //把peoPle从第3个字符开始的4个字符赋值给son
	cout << sOn << endl;
	gOd.insert(10, peoPle);  //把peoPle插入到gOd中,开始位置是10
	cout << gOd << endl;    
	sOn.insert(2, 3, 'S');  //从sOn的位置2,插入3个S
	cout << sOn << endl;
	sOn.erase(1, 3);   //删除sOn从位置1开始的3个字符
	cout << sOn << endl;
	sOn.clear();       //清空sOn
	cout << sOn << endl;
	cout << peoPle << endl;
	cout << aniMal << endl;
	peoPle.swap(aniMal); //交换peoPle与aniMal
	cout << peoPle << endl;
	cout << aniMal << endl;
	return 0;
}

输出结果:

abcdefg
hijklmn
7
7
abcdefgjklm
de
XXXXXXXXXXXXXXXXXXXX
e
2
19
XXhijklmnXXXXXXXXXXXXX
-1
1
defg
XXhijklmnXabcdefgjklmXXXXXXXXXXXX
deSSSfg
dSfg

abcdefgjklm
hijklmn
hijklmn
abcdefgjklm

作为一个进阶的程序员,这是我个人很辛苦的的总结,欢迎大家浏览。
   

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/2990969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存