21xrx.com
2025-03-26 13:56:21 Wednesday
文章检索 我的文章 写文章
C++实现数字字符串转整数的方法
2023-07-01 19:42:25 深夜i     --     --
C++ 数字字符串 整数 转换 方法

数字字符串转整数是C++程序设计中常见的问题,它涉及到从字符数组中提取数字并将其转换为整数的操作。在本文中,我们将介绍使用C++实现数字字符串转整数的方法。

1. 使用std::stoi函数

C++中的std::stoi函数可以将字符串转换为整数。该函数接受一个字符串参数并返回对应的整数值。以下是使用std::stoi函数的示例代码:

#include <iostream>
#include <string>
int main()
{
  std::string numString = "123";
  int num = std::stoi(numString);
  std::cout << num << std::endl;
  return 0;
}

输出为:

123

2. 使用stringstream对象

C++中的stringstream对象可以将字符串转换为任意类型的值。以下是使用stringstream对象的示例代码:

#include <iostream>
#include <string>
#include <sstream>
int main()
{
  std::string numString = "123";
  std::stringstream ss(numString);
  int num;
  ss >> num;
  std::cout << num << std::endl;
  return 0;
}

输出为:

123

3. 使用自定义函数

如果您不想使用C++标准库提供的函数或对象实现数字字符串转整数,您可以编写自己的函数。以下是使用自定义函数实现字符串转整数的示例代码:

#include <iostream>
#include <string>
int stringToInt(std::string numString)
{
  int num = 0;
  int sign = 1;
  int i = 0;
  if (numString[i] == '-')
  {
    sign = -1;
    i++;
  }
  for (; i < numString.length(); i++)
  {
    num = num * 10 + (numString[i] - '0');
  }
  return sign * num;
}
int main()
{
  std::string numString = "123";
  int num = stringToInt(numString);
  std::cout << num << std::endl;
  return 0;
}

输出为:

123

总结:

本文介绍了使用C++实现数字字符串转整数的三种方法:使用std::stoi函数、使用stringstream对象和使用自定义函数。这些方法具有各自的优缺点,您可以根据实际需要选择使用最合适的方法。

  
  

评论区