写在前面:
遇到了多次oj的题目需要将string转换为int或者将int转换为string
每次遇到都是现查,一直没有好好的总结导致总是忘记。
现在做个总结。
首先是今天遇到的方式: 采用string头文件里定义的string类型转换的函数 stoi()
可以直接将string类型转换为int类型
其他一些对于string转换的操作函数如下:
int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
第一个参数很简单就是要转换的string字符串
第二个参数是从字符串的第几个位置开始转换 默认从0开始
第三个参数是将字符串表示的数以什么进制转换 默认十进制转化
复杂度:未指定,但通常在解释的字符数量上是线性的。
注意 如果不能执行转换,则会引发invalid_argument异常。
如果读取的值超出int的可表示范围,则会抛出out_of_range异常。
一个无效的idx导致未定义的行为。
另一个to_string
这个函数将一些值转换为string类型
基本上就是一系列的重载函数 将不同类型的数转换为string