C++ 字符串学习总结--(终)

匿名 (未验证) 提交于 2019-12-03 00:27:02

compare 函数
s.compare函数的几种参数形式
s.compare(s2)//比较s和s2; s.compare(pos1,n1,s2)//将s中从s1开始的n1个字符与s2进行比较 s.compare(pos1,n1,s2,pos2,n2)//将s中从pos1开始的n1个字符和s2中从pos2 开始的n2个字符进行比较。 s.compare(cp)//比较s和cp 指向的地址开始以空字符结尾的字符数组 s.compare(pos1,n1,cp)//将s中pos1开始的n1个字符和cp 指向的地址开始以空字符结尾的字符数组进行比较 s.compare(pos1,n1,cp,n2)//将s中以pos1开始的n1个字符和cp指向的地址开始以空字符结尾的字符数组中n2个字符进行比较

数值转换
string 和数值之间的转换
to_string(val)//返回val 的string 表示。val可以是任何算术类型。对每个浮点类型和int 类型都有相应的to_string版本,小整型会被提升 stoi(s,p,b); stol(s,p,b); stoul(s,p,b); stoll(s,p,b); stoull(s,p,b); //返回s的起始子串的数值,返回类型分别是 int,long,unsigned long,long long,unsigned long long; b 表示转换所用的基数,默认为10,。p是size_t指针,用来保存s中第一个非数值字符的下标,p默认为0,不保存下标。  stof(s,p); stod(s,p); stold(s,p); //返回子串的数值,返回类型分别为float,double,long double,参数p的作用同上。 

NOTE:如果string 不能转换一组数值,这些函数抛出一个异常invalid_argument异常,如果转换得到的数值无法用任何类型来表示,则抛出out of range

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!