这儿可以用到stdlib下的函数atoi()
函数原型:int atoi(const char *nptr)
从函数定义中可以看出需要常量型的字符指针作为参数,可是我们转化的是string类型的变量,所以在使用此函数之前我们还要使用另一个函数c_str()
函数原型:const char*c_str() const; //返回一个以null终止的c字符串
string类下面的c_str()函数能够将string对象转化成为c中的字符串样式,返回一个指向正规c字符串的指针,但是使用此函数要注意,不能呢个将一个字符串的c_str()赋值给一个字符指针,而要使用strcpy
比如:
char* temp;
string str = "abc";
temp = str.c_str(); //这样不可取,当str被销毁时,temp就会指向一个不确定的东西
此处应该这样使用 strcpy(temp,str.c_str());
言归正传,使用此函数将string对象转化为标准c字符串后就可以使用atoi()函数了
例如:
#include <stdlib>
#include <iostream>
using namespace std;
int main(){
string str = "123";
int temp;
temp = atoi(str.c_str());
cout<<temp;
return 0;
}