参考:C++(stoi())
在C++中,
stoi()
是一个标准库函数,用于将字符串(
std::string
或 C 风格字符串)转换为整数(
int
)。这个函数定义在
<string>
头文件中。是 C++11 引入的一个标准库函数,用于将字符串转换为整数。与 atoi() 不同,stoi() 提供了更强的功能,包括错误处理、支持指定进制等。
函数原型
int stoi(const std::string& str, std::size_t* idx = nullptr, int base = 10);
参数
str
:要转换的字符串。idx
:一个可选参数,指向std::size_t
类型的指针。如果提供,函数会将转换停止的位置(即第一个不是有效数字的字符的索引)存储在这个指针指向的位置。如果转换失败,idx
将被设置为 0。如果转换成功,但字符串中没有非数字字符,idx
将被设置为字符串的长度。base
:一个可选参数,指定了要转换的字符串的数制(基数)。它必须是2到36之间的整数。如果设置为0,函数会根据字符串的前缀自动确定数制(例如,“0x” 或 “0X” 表示十六进制,“0” 表示八进制)。
返回值
- 返回转换后的整数。
使用示例
示例1:基本使用
#include <iostream>
#include <string>
int main() {
std::string str = "456";
try {
int num = std::stoi