📅  最后修改于: 2023-12-03 15:05:22.641000             🧑  作者: Mango
std::stoi
是C++标准库中的一个函数,用于将字符串转换为整数。
std::stoi
可以将一个字符串转换为对应的整数。如果字符串不是合法的整数格式,则会抛出一个std::invalid_argument
异常。
int stoi(const string& str, size_t* pos = 0, int base = 10);
参数说明:
str
:要转换的字符串.pos
:指针类型,可选参数,返回第一个不能被转换为整数的字符的下标位置.base
:可选参数,默认为10,指定转换的整数进制数.返回转换后的整数。
#include <iostream>
#include <string>
int main()
{
std::string str1 = "123";
std::string str2 = "-456";
std::string str3 = "0x1a";
int num1 = std::stoi(str1);
int num2 = std::stoi(str2);
int num3 = std::stoi(str3, nullptr, 16); // 将字符串转为16进制的整数
std::cout << "num1:" << num1 << std::endl;
std::cout << "num2:" << num2 << std::endl;
std::cout << "num3:" << num3 << std::endl;
return 0;
}
输出结果:
num1:123
num2:-456
num3:26
std::invalid_argument
异常.std::out_of_range
异常.