21xrx.com
2024-09-20 01:10:21 Friday
登录
文章检索 我的文章 写文章
C++如何将字符型转换为整型?
2023-07-01 09:27:09 深夜i     --     --
C++ character integer conversion function

在C++中,将字符型转换为整型的过程是十分简单的。C++提供了一个函数`std::stoi`,用于将字符串转换为整数。其中,`stoi`是从C++11开始引入的标准库函数,用于将字符串转换为整数。

使用方法如下:


#include <iostream>

#include <string>

int main() {

  std::string str = "123";

  int num = std::stoi(str);

  std::cout << num << std::endl;

  return 0;

}

以上代码中,首先我们定义了一个字符串变量`str`,值为"123"。然后,我们使用`std::stoi`函数将字符串转换为整数类型,并将转换结果赋值给整型变量`num`。最后,我们将`num`变量的值输出到终端中。

需要注意的是,`std::stoi`函数只能将符合整型格式的字符串转换为整型。如果传入的字符串不是符合整型格式的,函数将抛出一个`std::invalid_argument`异常。例如:


#include <iostream>

#include <string>

int main() {

  std::string str = "abc";

  try {

    int num = std::stoi(str);

    std::cout << num << std::endl;

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

    std::cout << "Invalid argument: " << e.what() << std::endl;

  }

  return 0;

}

以上代码中,我们将字符串`"abc"`传给`std::stoi`函数,这是一个非整型格式的字符串,因此函数将抛出一个`std::invalid_argument`异常,并输出异常信息"Invalid argument: stoi"。为了避免程序因为转换错误而崩溃,一般需要在调用`std::stoi`函数时添加异常处理代码,例如使用`try-catch`语句来捕获异常。

总之,将字符型转换为整型只需要调用C++提供的`std::stoi`函数即可,这个函数会自动将字符串转换为整数类型。当然,需要注意输入的字符串必须符合整型格式。

  
  

评论区

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