📌  相关文章
📜  stoi - C++ (1)

📅  最后修改于: 2023-12-03 15:05:22.641000             🧑  作者: Mango

std::stoi - C++

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异常.