21xrx.com
2024-12-22 22:35:04 Sunday
登录
文章检索 我的文章 写文章
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对象和使用自定义函数。这些方法具有各自的优缺点,您可以根据实际需要选择使用最合适的方法。

  
  

评论区

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