C++ 字符串string

标准库类型string表示可变长的字符序列,内部使用了char数组,使用string类型必须首先包含string头文件

#include <string>
1,string的定义和初始化

在C++中string也提供了多种不同的定义和初始化过程:

string s1;//默认初始化,s1是一个空字符串

string s2(s1);
string s2 = s1;//s2 是s1的一个副本

string s3("hello");//s3是字面量"value"的副本,除了字面值最后的哪个空字符此外
string s3 = "hello";//s3是该字符串字面量的副本

string(5, 'a');// s4的内容是aaaaa

对于上述初始化的区分主要分为直接初始化和拷贝初始化
1)拷贝初始化:使用”=“初始化一个变量,编译器把等号右侧的初始值拷贝到新创建的对象中去。
2)直接初始化:不适用等号时则是直接初始化。
例如:

string s3 = "hello";//拷贝初始化
string(5, 'a');// 直接初始化
2,string对象的操作
操作描述
os<<s;将s写到输出流os当中,返回os
is>>s;从is中读取字符串赋给s,字符串以空白分割,返回is
getline(is,s);从is中读取一行赋给s,返回is
e.empty();s为空返回true,否则返回false
s.size();返回s中字符的个数
s[n];返回s中第n个字符的引用,位置n从0计起
s1+s2;返回s1和s2连接后的结果
s1=s2;用s2的副本代替s1中原来的字符
s1==s2如果s1和s2中所包含的字符完全一样,则他们相等,string对象的相等性判断对字母的大小写铭感
s1!= s2;判断非相等
<,<=,>,>=;利用字符在字典中的顺序进行比较,且对字母的大小写铭感

读写string对象

string s;
cin >> s;//写入
cout << s << endl;//输出
3, string对象中字符的处理

在cctype头文件中定义了一组标准函数库

功能描述
isalnum(a)当a是字母或数字时为真
isalpha(a)当a是字母时为真
iscntrl(a)当a是控制字符时为真
isdigit(a)当a是数字时为真
isgraph(a)当a不是空格但可打印时为真
islower(a)当a是小写字母时为真
isprint(a)当a是可打印字符时为真(即a是空格或a具有可视形式)
ispunct(a)当a是标点符号时为真(即a不是控制字符,数字,字母,可打印空白中的一种)
isspace(a)当a是空白时为真(即a是空格,横向制表符,纵向制表符,回车符,换行符,进纸符中的一种)
isupper(a)当a是大写字母时为真
isxdigit(a)当a是十六进制数字时为真
tolower(a)如果a是代谢字母,输出对应的小写字母:否则原样输出a;
toupper(a)如果a是小写字母,输出对应的大写字母:否则原样子输出a;

输出string中每一个字符

string line = "hello word";
for (auto c : line) {
cout << c << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值