21xrx.com
2024-11-22 11:39:32 Friday
登录
文章检索 我的文章 写文章
C++字符串转整数教程
2023-06-22 19:08:52 深夜i     --     --
C++ 字符串 转换 整数 教程

在C++中,我们经常会遇到需要将字符串转换成整数的情况。例如,当我们从用户输入中获取数据时,通常会看到输入的是字符串类型,需要将输入的字符串转换成整数类型以便进行计算或比较操作。

下面介绍几种将字符串转换为整数的方法:

方法一:使用stoi函数

stoi函数是C++11标准新增加的函数,可以将字符串转换为整数。它的头文件为 。格式为:

int stoi (const string& str, size_t* idx = 0, int base = 10);

其中,str为要转换的字符串,idx是一个指针,用于存储转换结束的下标位置。base是一个整数,指定转换的进制数,默认为10进制。

示例代码:

#include

#include

using namespace std;

int main()

{

  string str = "1234";

  int num = stoi(str);

  cout << "转换后的整数为:" << num << endl;

  return 0;

}

运行结果:

转换后的整数为:1234

方法二:使用stringstream类

stringstream是C++标准库中的一个类,用于将字符串转换为其他类型。它的头文件为 。可以使用该类的构造函数将字符串传入,然后使用>>运算符将字符串转换为整数。

示例代码:

#include

#include

#include

using namespace std;

int main()

{

  string str = "1234";

  int num;

  stringstream ss(str);

  ss >> num;

  cout << "转换后的整数为:" << num << endl;

  return 0;

}

运行结果:

转换后的整数为:1234

方法三:使用atoi函数

atoi函数是一个C标准库函数,可以将字符串转换为整数。它的头文件为 。使用该函数时,需要将字符串转换为char类型的指针,然后调用函数即可。

示例代码:

#include

#include

#include

using namespace std;

int main()

{

  string str = "1234";

  const char* p = str.c_str();

  int num = atoi(p);

  cout << "转换后的整数为:" << num << endl;

  return 0;

}

运行结果:

转换后的整数为:1234

总结:

以上是三种将字符串转换为整数的方法,其中第一种发挥C++11的优势,用起来最方便。第二种方法可以使用一个stringstream对象进行多次转换操作。第三种方法是一个老旧的方法,需要将字符串转换为char类型,可读性不高。

在实际编程中,我们可以根据需要选择不同的方法进行字符串转换操作。

  
  

评论区

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