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