21xrx.com
2024-06-03 04:27:28 Monday
登录
文章检索 我的文章 写文章
C++中字符串转整数的stoi()函数
2023-07-12 10:58:36 深夜i     --     --
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 ++库函数,可以轻松地将字符串转换为整数。但是需要注意的是,当你传入一个无效的字符串时,它会抛出异常,因此在实际应用中要注意异常处理。

  
  

评论区

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