21xrx.com
2025-03-27 07:34:49 Thursday
文章检索 我的文章 写文章
C++中使用stoi头文件的方法
2023-07-05 00:45:19 深夜i     84     0
C++ stoi 头文件 方法

在C++中,stoi是一个用于将字符串转化为整数的函数。它包含在头文件 中,并且在C++11标准中引入。该函数的语法如下:

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

其中,str是需要转换的字符串,idx是可选的参数,用于返回转换后第一个非数字字符的位置,base是进制数,默认为10,表示十进制。

下面是一个使用stoi函数的例子:

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

在这个例子中,我们分别将字符串"123"和"10110"转换为整数类型。第一个stoi函数使用默认进制(十进制),而第二个函数指定了一个二进制的进制数。

在实际使用过程中,我们需要注意的是,在输入的字符串不包含数字字符时,该函数会产生一个无效的参数异常。因此,我们需要使用try-catch语句来处理这种异常,如下所示:

#include <iostream>
#include <string>
using namespace std;
int main()
{
 try {
  string str = "ABC";
  int num = stoi(str);
  cout << num << endl;
 }
 catch (const invalid_argument& ia) {
  cerr << "Invalid argument: " << ia.what() << endl;
 }
 return 0;
}

这个例子中,我们将一个非数字字符串传递给stoi函数。在这种情况下,程序会抛出一个invalid_argument异常,并输出错误消息:“Invalid argument: stoi”。

使用stoi函数可以方便地将字符串转换为整数类型。但使用时需要注意进制和处理异常的情况。

  
  

评论区