21xrx.com
2025-04-04 19:00:38 Friday
文章检索 我的文章 写文章
C++中字符串转int的方法
2023-06-28 11:37:54 深夜i     41     0
C++ 字符串 转换 int 方法

在C++编程中,字符串转int是一项非常常见的任务。这是因为在许多情况下,我们需要将使用者输入的字符串转换成整型数据进行处理。在本文中,我们将介绍C++中常用的字符串转int方法。

方法一:使用atoi函数

atoi函数是C/C++标准库中的一个字符串转int函数。它能将一个以字符串形式表示的整数,转换成对应的整型变量。该函数的原型如下:

int atoi ( const char * str );

以下是该函数的使用示例:

#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
 string str = "1234";
 int num = atoi(str.c_str());
 cout << num << endl;
 return 0;
}

该程序运行结果为:

1234

在此示例中,我们首先定义了一个字符串str,内容为"1234"。然后,使用c_str()函数获取了该字符串的指针,传入函数atoi()中并返回一个整型数值。

需要注意的是,atoi函数的实现原理是从字符串首位开始扫描,直到遇到非数字字符为止。因此,在输入非数字字符的情况下,该函数会返回0。

方法二:使用istringstream

istringstream是常用的字符串str流入操作符,也可以用于字符串转换成整型数值。该函数与atoi函数类似,只是使用的方法稍有不同。以下是该函数的使用示例:

#include <iostream>
#include <sstream>
using namespace std;
int main() {
 string str = "1234";
 int num;
 istringstream ss(str);
 ss >> num;
 cout << num << endl;
 return 0;
}

在此示例中,我们首先定义了一个字符串str,内容为"1234"。然后,使用istringstream对象ss与字符串str关联,所输入的字符串被解析成整型数据赋值给num变量。

方法三:使用stoi函数

stoi函数是C++11标准中增加的一种字符串转换成整型数据的方法。使用该函数时,需要包含头文件 。以下是该函数的使用示例:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
 string str = "1234";
 int num = stoi(str);
 cout << num << endl;
 return 0;
}

在此示例中,我们使用了stoi函数将字符串str转换成整型数据,并将结果保存在num变量中。

需要注意的是,当输入的字符串包含非数字字符时,stoi函数会抛出一个invalid_argument异常。

通过以上三种方法,我们可以实现将字符串转换成整型数据的功能。无论是atoi函数、istringstream函数还是stoi函数,都有各自的特点和适用范围。因此,我们需要在实际使用中慎重考虑,选择最适合自己需求的方法。

  
  

评论区

请求出错了