c/c++ 下面 将string类型变量转化为int型

    这儿可以用到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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值