21xrx.com
2025-03-29 10:52:28 Saturday
文章检索 我的文章 写文章
C++中字符串转整数的stoi()函数
2023-07-12 10:58:36 深夜i     29     0
C++ 字符串 整数 stoi()函数 转换

在C ++编程中,将字符串转换为整数很常见。这个过程可以使用stoi()函数来完成。stoi()函数是C++标准库中的一个函数,它可以将一个字符串转换为一个整数。在这篇文章中,我们将讨论这个函数的用法和它的一些特性。

首先,让我们看一下这个函数的原型:

int stoi (const string& str, size_t* idx = 0, int base = 10);

其中,str是要转换的字符串,idx是返回的第一个不属于转换后的整数的字符的下标,base是转换使用的基数。如果省略idx参数,则默认为0,表示不返回字符下标。如果省略base参数,则默认为10,表示使用十进制转换。

下面是一些使用这个函数的示例:

#include <iostream>
#include <string>
int main()
{
  std::string str1 = "134";
  int num1 = std::stoi(str1);
  std::cout << num1 << std::endl; // 输出 134
  
  std::string str2 = "-34";
  int num2 = std::stoi(str2);
  std::cout << num2 << std::endl; // 输出 -34
  
  std::string str3 = "10A";
  int num3 = std::stoi(str3);
  std::cout << num3 << std::endl; // 抛出 std::invalid_argument 异常
}

在第一个示例中,我们将字符串“134”转换为整数,并将结果打印到控制台上,它输出了我们期望的结果。在第二个示例中,我们将字符串“-34”转换为整数,并再次将结果打印到控制台上,它会输出-34。在第三个示例中,我们将字符串“10A”转换为整数,这个字符串中包含了无效的字符,因此将抛出std::invalid_argument异常。

总之,stoi()函数是一个强大的C ++库函数,可以轻松地将字符串转换为整数。但是需要注意的是,当你传入一个无效的字符串时,它会抛出异常,因此在实际应用中要注意异常处理。

  
  

评论区