第三章(一)string类型

本文详细介绍了C++中标准库类型string的使用方法,包括声明、初始化、常见操作及与字面值的结合使用。此外,还讲解了如何利用cctype头文件中的函数进行字符检测,并展示了使用for循环遍历string的方法。

(一)在使用之前是需要声明的。使用标准库类型string

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

(二)几种初始化

string s1;//empty string on defaulty
string s2(s1);
string s3="hiya"
string s4(10,'c');cccccccc

(三)string对象上的操作

os<<s;将写到输出流os中,并且返回os;

is>>s 从is中读取字符串并返回流

getline(is,s)读取一行,返回流

s.empty()判断是否是空

s.size()返回s中字符个数,注意返回的类型是unsigned,不能够与int类型来比较。有符号和无符号的比较是需要转换的,而且答案都是令人想不到的。哈哈

s[n] 返回s中第n个字符的引用,位置n从0记起

s1+s2;返回s1和s2链接后的结果

s1=s2;直接的赋值操作哦

s1==s2;判断是否完全相等

<,>,<=,>=。都是返回第一个不同的大小比较值

(四)字面值和string对象的相加

+号的两边都必须是至少有一个string对象

string s4=s1+",";
string s5="hello"+“《”;
string s6=s1+","+"wsf";对的,相当于(s1+",")+"sfh";这个前面的结果是一个对象来的
string s7="heello"+"hfh"+s2;前面都是字面值,所一错误
切忌:字符串字面值与string是不同类型的,单纯的字面值是无法相加的。
(五)

cctype头文件的函数

isalnum(c)

  假如c是字母或数字,则为true
isalpah(c) 假如c是字母,则为true
iscntrl(c) 假如c是控制字符,则为true
isdigit(c) 假如c是数字,则为true
isgraph(c) 假如c不是空格,则为true
islower(c) 假如c是小写字母,则为true
isprint(c) 假如c是可打印的字符,则为true
ispunct(c) 假如c是标点符号,则为true
isspace(c) 假如c是空白字符,则为true
isupper(c) 假如c是大写字母,则为true
isxdigit(c) 假如c是十六进制数,则为true
tolower(c) 假如c是大写字母,则返回小写字母形式,否则返回c。
toupper(c) 假如c是小写字母,则返回大些字母形式,否则返回c。


(六)使用for循环来遍历;

string str("some string");
for(auto c:str)
cout << c << endl;

for(auto &c:s)
    c=toupper(c);
cout <<s <<endl;//c是一个引用,因此赋值语句将改变s中字符串的值,<span style="color:#FF9900;">如果不用这个引用的话,c只是s中字符的一份复制的值,它的改变并不会影响s原本的字符。</span>


注意以上的编译都是需要在编译中添加-std c++11 这个编译的语句,可能这个是c++11的新特性吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值