21xrx.com
2024-12-22 23:44:34 Sunday
登录
文章检索 我的文章 写文章
C++中的stoi函数
2023-06-29 16:04:12 深夜i     --     --
C++ stoi 函数 字符串转数字 异常处理

C++是一门广泛应用于软件开发和编程的高级编程语言,自C++11标准以来,STL(标准模板库)已成为C++程序员的必备资源之一。其中,stoi函数是STL中的一个非常有用的函数,它可以将一个字符串转换为一个整数。

stoi函数的语法非常简单,只需要给函数传递一个字符串作为输入,它就可以返回一个整数类型的输出。示例如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "123";

  int num = stoi(str);

  cout << "String: " << str << endl;

  cout << "Integer: " << num << endl;

  return 0;

}

在上述示例中,我们首先引入了iostream和string两个头文件,然后声明了一个字符串变量str,并将其赋值为"123"。接着我们调用了stoi函数,将字符串“123”转换为一个整数,并将其赋值给了一个整型变量num。最后,我们输出了字符串和整数类型变量的值。

需要注意的是,如果字符串输入不是一个有效的数字字符串,stoi函数将会抛出一个异常。因此,在使用stoi函数时,我们应该注意保护代码不受异常的影响。示例如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "123abc";

  try {

    int num = stoi(str);

    cout << "Integer: " << num << endl;

  } catch (const std::invalid_argument& ia) {

    cerr << "Invalid argument: " << ia.what() << endl;

  } catch (const std::out_of_range& oor) {

    cerr << "Out of range: " << oor.what() << endl;

  }

  return 0;

}

在上述示例中,我们尝试将字符串"123abc"转换为一个整数。由于该字符串不是有效的数字字符串,程序将抛出一个std::invalid_argument异常。为了保护代码不受异常的影响,我们可以添加try-catch代码块来处理异常情况。

总之,stoi函数是C++中一个非常有用的函数,它可以将字符串转换为整数。在使用此函数时,我们应该注意字符串的有效性,并使用try-catch来处理可能的异常情况,以保护我们的代码。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复