C++中的stoi()与to_string():

stoi()函数

stoi()函数是C++11标准中引入的一个新函数,用于将字符串转换为整数。它的名称是"string to integer"的缩写,意为"字符串到整数"的转换。

stoi()函数的原型如下:

cpp 复制代码
int stoi(const string& str, size_t* pos = 0, int base = 10);

其中,str是要转换的字符串,pos是一个可选参数,用于指定转换的起始位置,base是转换的基数,默认为10进制。

下面是一个使用stoi()函数的简单示例:

cpp 复制代码
#include <iostream>
#include <string>

int main() {
    std::string str = "12345";
    int num = std::stoi(str);
    return 0;
}

需要注意的是,stoi()函数在转换过程中会检查字符串的有效性。如果字符串中包含非数字字符(除了可能的正负号和基数指定的字符外),或者转换结果超出了int类型的表示范围,stoi()函数将抛出std::invalid_argumentstd::out_of_range异常。因此,在使用stoi()函数时,最好使用异常处理机制来确保程序的健壮性。

to_string()函数

stoi()函数相对应,to_string()函数用于将整数(或其他数值类型)转换为字符串。它的名称是"to string"的缩写,意为"到字符串"的转换。

to_string()函数有多个重载版本,可以处理不同类型的输入。对于整数类型,它的原型如下:

复制代码
string to_string(int value);

其中,value是要转换的整数。

下面是一个使用to_string()函数的简单示例:

cpp 复制代码
#include <iostream>
#include <string>

int main() {
    int num = 12345;
    std::string str = std::to_string(num);
    return 0;
}

stoi()函数相比,to_string()函数的使用相对简单,因为它不需要处理复杂的转换规则和异常情况。只要输入的数值在有效范围内,to_string()函数就能成功地将其转换为字符串。

其他相关函数

除了stoi()to_string()函数外,C++标准库还提供了其他一些用于类型转换的函数,例如:

  • stof()stod()stold():分别用于将字符串转换为floatdoublelong double类型的浮点数。
  • to_wstring()to_u16string()to_u32string():分别用于将数值转换为宽字符字符串、UTF-16字符串和UTF-32字符串。
相关推荐
linweidong2 分钟前
C++ 中避免悬挂引用的企业策略有哪些?
java·jvm·c++
CoderCodingNo4 分钟前
【GESP】C++五级/四级练习(双指针/数学) luogu-P1147 连续自然数和
开发语言·c++·算法
颜酱7 分钟前
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口)
前端·后端·算法
Wect11 分钟前
LeetCode 274. H 指数:两种高效解法全解析
算法·typescript
Q741_14712 分钟前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU
c语言·数据库·c++·算法·笔试·哈夫曼编码·哈夫曼树
Hello.Reader19 分钟前
PyFlink DataStream Operators 算子分类、函数写法、类型系统、链路优化(Chaining)与工程化踩坑
前端·python·算法
hweiyu0020 分钟前
最短路径算法:Floyd-Warshall算法
算法
荒诞硬汉23 分钟前
数组常见算法
java·数据结构·算法
少许极端24 分钟前
算法奇妙屋(二十四)-二维费用的背包问题、似包非包问题、卡特兰数问题(动态规划)
算法·动态规划·卡特兰数·二维费用背包·似包非包
Z1Jxxx28 分钟前
日期日期日期
开发语言·c++·算法