21xrx.com
2024-11-05 14:49:31 Tuesday
登录
文章检索 我的文章 写文章
C++字符串转换为整数的方法
2023-07-01 12:18:51 深夜i     --     --
C++ 字符串 整数 转换 方法

C++中,将字符串转换为整数是一种常见的需求。例如,当我们需要将从用户输入得到的字符串转换为数字时,我们需要使用这种转换方法。下面是使用C++字符串转换为整数的方法。

1. stoi函数

这是C++中最简单的字符串转换为整数的函数之一。这个函数可以将字符串转换成整型(int类型)。

下面是一个例子:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string numStr = "123";

  int numInt = stoi(numStr);

  cout << "The string " << numStr << " is converted to integer " << numInt << endl;

  return 0;

}

输出结果如下:


The string 123 is converted to integer 123

2. strtol函数

这个函数可以将一个字符串转换为一个长整型(long int),并在转换后给出剩余的字符串部分。这个函数需要四个参数:字符串、一个指向字符指针的指针、进制数和一个可选的误差指针。

下面是一个例子:


#include <iostream>

#include <cstdlib>

using namespace std;

int main() {

  char *numStr = "456";

  char *end;

  long int numInt = strtol(numStr, &end, 10);

  cout << "The string " << numStr << " is converted to long integer " << numInt << ", and the remaining string is " << end << endl;

  return 0;

}

输出结果如下:


The string 456 is converted to long integer 456, and the remaining string is

3. stringstream类

这个类将字符串流化为整数,并可以完成转换。这个类使用起来比较复杂,但是可以很好地处理各种复杂的情况。

下面是一个例子:


#include <iostream>

#include <sstream>

using namespace std;

int main() {

  string numStr = "789";

  int numInt;

  stringstream ss(numStr);

  ss >> numInt;

  cout << "The string " << numStr << " is converted to integer " << numInt << endl;

  return 0;

}

输出结果如下:


The string 789 is converted to integer 789

这些是C++字符串转换为整数的一些方法,它们各有特点,可以根据需求选择不同的方法。无论你用哪种方法,都需要小心地处理字符串中的非数字字符,以避免不必要的错误。

  
  

评论区

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