C++中的string类型

Type String

string类型是长度可变的字符串类型,头文件中必须包括#include <string>,同时其也是在标准命名空间中定义的。

定义及初始化

string s1 默认定义,s1为空

string s2(s1) s2复制s1

string s2=s1 s2复制s1

string s3("value") s3初始化为“value”

string s3="value" s3初始化为“value”

string s4(n,'c') s4初始化为n个c组成的字符串,即“ccc…cccc”

操作

读写

基础:

cin>>s; cout<<s<<endl;

读写文件:os<<s is>>s

读取一整行:getline(is,s) /getline(cin,s)

判断字符串是否为空:s.empty() ,返回true/false

返回字符数:s.size()

返回字符串中的第n+1个字符:s[n]

s1和s2连接:s1+s2

s1="hello";
s2="world";
s1+=s2;				//则s1输出"helloworld"

s2复制给s1:s1=s2

判断两个字符串是否相等s1==s2

类似的还有!=,<,>,<=,>= 区分大小写,逐一对应根据字典序比较

输入时如果中间有空格或者换行,则后面输入的将被忽略

对字符串中单个字符的操作

包含头文件:#include <cctype>

逐个处理全部字符

基本操作:Range-Based for

for(auto c : str)
    cout<<c;

输出str中的每一个字符,用auto让编译器自动识别其中的每一个字符更好

还有一些比较常用的语句:

语句含义
isalnum(c)如果c是字母或数字返回true
isalpha(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是空格,tab等返回true
isupper(c)如果c是大写字母返回true
isxdigit(c)如果c是十六进制数返回true
tolower(c)如果c是大写则返回小写,否则不变
toupper(c)如果c是小写则返回大写,否则不变

如果要修改,则

for(auto &c : s)	//&c是关键
    c=toupper(c);	//全部改成大写
处理其中单个字符

两种方法:①采用类似数组的形式来找每一个字符的地址s[i]②使用迭代器

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++string类型C++标准库的一部分,用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还与C语言的字符串之间有着良好的接口。 在C++,可以通过insert方法将一个字符串插入到另一个字符串的指定位置。例如,在引用的示例代码,我们可以看到如何使用insert方法将字符串" good."插入到字符串"I am"的第4个位置,结果为"I am good."。 此外,还可以将int类型转换为string类型C++有两种常见的方法可以实现这个转换。第一种方法是使用stringstream类,通过将int类型的数据写入stringstream对象,再通过调用stringstream对象的str()方法获取转换后的string类型数据。示例代码如引用所示。第二种方法是使用to_string函数,将int类型的数据直接转换为string类型。示例代码如引用所示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++string类用法简介](https://blog.csdn.net/liitdar/article/details/80498634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值