21xrx.com
2025-03-30 23:57:08 Sunday
文章检索 我的文章 写文章
C++中字符串转数字的方法
2023-07-08 06:38:48 深夜i     16     0
C++ 字符串 转换 数字 方法

在C++中,将字符串转换成数字是一个常见的需求,本文将为您介绍几种方法。

1. atoi()

atoi()函数可以将一个字符串转换成一个整数,该函数定义在stdlib.h头文件中,在使用之前需要先引入该头文件。示例代码如下:

#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
 char buf[] = "123";
 int intValue = atoi(buf);
 cout << intValue << endl;
 return 0;
}

注:需要注意的是,atoi()函数的输入必须是一个以null结尾的字符串,否则会导致程序崩溃。

2. stringstream

stringstream是一个C++标准库中的类,在头文件 中定义。这个类可以把一个字符串流转换成一个数字。示例代码如下:

#include <sstream>
#include <iostream>
using namespace std;
int main() {
 string strValue = "456";
 int intValue = 0;
 stringstream ss(strValue);
 ss >> intValue;
 cout << intValue << endl;
 return 0;
}

注:需要注意的是,使用stringstream时需要引入头文件 ,以及string类型的头文件

3. std::stoi()

std::stoi()函数可以将一个字符串转换成一个整数,该函数定义在string头文件中,在使用之前需要先引入该头文件。示例代码如下:

#include <iostream>
#include <string>
using namespace std;
int main() {
 string strValue = "789";
 int intValue = stoi(strValue);
 cout << intValue << endl;
 return 0;
}

注:需要注意的是,使用std::stoi()函数时需要引入头文件

总结一下,以上就是C++中字符串转数字的几种方法。无论哪种方法,在实际应用中需要根据不同场景进行选用。如果要将一个字符串转换成整数或浮点数,建议使用stringstream,因为使用stringstream可以更方便地实现类型转换,并且支持更多类型的转换;如果只是将一个字符串转换成整数,可以使用atoi()或std::stoi()函数。

  
  

评论区