21xrx.com
2025-03-29 02:08:53 Saturday
文章检索 我的文章 写文章
C++:字符串转换成整数
2023-06-23 19:16:57 深夜i     12     0
C++ 字符串转换 整数

在 C++ 编程中,有时需要将字符串转换成整数。C++ STL 中的 `stoi` 函数非常方便地实现了这一过程。

`stoi` 函数原型如下:

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

该函数的第一个参数为要转换的字符串,第二个参数为一个指向 `size_t` 类型的指针,该指针可以接收函数成功转换的最后字符位置的下标。第三个参数为要转换的数字的进制,默认为十进制。

在使用 `stoi` 函数进行字符串转换时,需要注意以下几点:

1. 输入字符串必须为合法的整数字符串,否则会抛出 `invalid_argument` 异常。

2. 输入字符串的长度要小于等于 `int` 类型的最大值,否则会抛出 `out_of_range` 异常。

3. 对于非法的字符串,可以通过 `try-catch` 机制进行异常处理。

下面是一个使用 `stoi` 函数进行字符串转换的示例代码:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "123456";
  int num = stoi(str);
  cout << num << endl;
  return 0;
}

运行结果:

123456

在这个示例中,我们将字符串 "123456" 转换为了整数类型,并将其输出到控制台。

在实际应用中,我们可能需要对输入字符串进行更多的检查和处理,以确保转换的正确性和稳定性。不过使用 `stoi` 函数可以快速地实现字符串到整数的转换,大大提高了编程效率。

  
  

评论区

请求出错了