浅谈C++标准库类型string

对于string的定义不必过于纠结,可以将其理解成一种比较灵活的字符串类型。

下面主要对定义,初始化和操作string对象作一个简单总结。

一.使用string类型的准备

#include <string>
using namespace std;  //或者 using std::string;

当然,要使用C++实现基本的输入输出操作,#include<iostream>也是不可少的。

二.定义和初始化string对象

下面给出了常用的几种方式:

	string s1;                     //默认初始化,s1为空串
	string s2="Hello World";       //s2的内容是"Hello World"
	string s3(5,'A');              //s3的内容是5个'A'

初始化的过程中也可以使用已经定义的string对象:

	string s4 = "Nice to meet you!"; //s4的内容是"Nice to meet you!"
	string s5(s4, 5);  //s5的内容是s4的第5个字符之后的内容(s4的前5个字符被无视)
	string s6(s4, 8, 4); //s6的内容是是s4的第8个字符之后的4个字符(注:空格也算作字符)

完整代码及运行结果:



注:如果只是想定义一个string对象但不初始化,而采用输入的方式将输入内容读取到定义的对象中,一定要记住:

string对象会自动忽略输入开头和结尾的空格,也就是说真正读取的内容从第一个真正的字符开始,直到遇到下一处空白结束

三.部分常用的简单操作

1.比较(两个string对象s1和s2)

原则:a<b<...<z或A<B<...<Z(注:同一字母的大小写为两种字符,大小比较可参考ASCII码值)

①:s1与s2在某些位置上不一致时,结果为第一对不同字符相比较的结果。

②:s1与s2长度不同,且从较短串的第一个字符到最后都与较长串对应位置的字符相等,则较短串小于较长串。

2.相加

例如s1='str' s2='ing' s3=s1+s2 s3的内容则为“string”。

3.对string对象中的每个字符进行处理

C++11提供一种特殊的语句:范围for语句

eg:使用范围for语句输出一个string对象的每个字符

	string s1("abcdefg");
	for (auto c : s1)         //对于s1中的每个字符
		cout << c << endl;
注:部分较老的编译器可能无法运行。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值