21xrx.com
2024-12-27 06:36:19 Friday
登录
文章检索 我的文章 写文章
C++字符串转整数
2023-06-27 20:44:09 深夜i     --     --
C++ 字符串 转换 整数 stoi(可选)

在C++中,我们经常需要将字符串类型的数字转换成普通的整数类型,以便进行计算操作。C++提供了一些标准库函数,可以方便地实现字符串转整数的操作。

一、使用库函数atoi或者atol

C++中有两个库函数可以把字符串转换成整数。其中,atoil函数比atoi函数更安全,对于很大的整数可以更好地处理。这两个函数的原型分别如下:

int atoi(const char *str);

long atol(const char *str);

这里需要注意的是,如果字符串不能转换成整数,则返回0。如果字符串表示的整数溢出,则返回错误码ERANGE。

下面是一个使用atoi函数的例子:

#include

#include

int main()

{

  char str[] = "12345";

  int num = atoi(str);

  printf("num = %d\n", num);

  return 0;

}

运行结果如下:

num = 12345

二、使用字符串流istringstream

C++标准库中的字符串流istringstream也可以实现字符串转整数的操作。它可以把字符串转换成流,从而允许程序像处理标准输入流那样处理字符串。

下面是一个使用istringstream的例子:

#include

#include

#include

using namespace std;

int main()

{

  string str = "12345";

  int num;

  istringstream iss(str);

  iss >> num;

  cout << "num = " << num << endl;

  return 0;

}

这里需要注意的是,需要包含头文件 。同时,使用istringstream时需要定义一个变量来存放要转换的整数。

总结:

字符串转整数是C++程序中很常见的操作,可以使用库函数atoi、atol或者字符串流istringstream来实现。当然,在实际的开发中也可以根据具体的需要自己编写字符串转整数的函数。不论哪种方法,都需要注意数据的类型和溢出问题。

  
  

评论区

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