21xrx.com
2024-11-22 12:37:49 Friday
登录
文章检索 我的文章 写文章
C++中实现字符串转整数(int)的方法
2023-06-30 05:30:10 深夜i     --     --
C++ 字符串 转整数 方法

在C++中,有许多方法可以实现字符串转换为整数的操作。这种转换可能在很多场合下都非常有用,比如说将用户输入转化为数字操作等。在这篇文章中,我们将介绍两种常见的实现方法。

1. 使用标准库函数stoi

C++11中的字符串转整数函数stoi可以将一个字符串转换为一个整数。其用法非常简单,只需要在代码中调用stoi函数,并传递需要转换的字符串参数给它即可。下面是一个使用stoi函数的示例。


#include <iostream>

#include <string>

int main()

{

  std::string str = "1234";

  int num = std::stoi(str);

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

  return 0;

}

上面的代码输出结果为1234,即成功将字符串"1234"转换为整数类型。

2. 自定义实现函数

如果你不想使用标准库函数,也可以自己写一个函数来完成字符串转整数的操作。下面是一个简单的字符串转整数函数实现。


#include <iostream>

#include <string>

int strToInt(const std::string& str)

{

  int num = 0;

  int sign = 1;

  for (int i = 0; i < str.length(); i++)

  {

    if (i == 0 && str[i] == '-')

    

      sign = -1;

    

    else

    {

      num = num * 10 + (str[i] - '0');

    }

  }

  return num * sign;

}

int main()

{

  std::string str = "-1234";

  int num = strToInt(str);

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

  return 0;

}

上面这个自定义函数的实现非常简单,首先定义了一个整数变量num和一个符号变量sign,初始化num为0,sign为1。然后,遍历字符串,如果是负号,则将sign赋值为-1,否则将字符串转化为数字数位,可以通过字符'0'减去当前字符来实现。最后返回num乘以符号变量即可。

总结

无论是使用标准库函数stoi,或者是自定义函数实现字符串转整数的操作,都非常简单。不过使用标准库函数比自定义函数的优势在于速度更快,而且不需要重新发明轮子。如果你只需要完成简单的字符串转整数的操作,那么使用标准库函数是一个好的选择。但如果你需要进行更加复杂的字符串转换操作,则需要自己写一些自定义的函数来完成。

  
  

评论区

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