c++类型转换


1. string -> int : 

1)atoi() C语言库

std::string numStr = "123";
int number = std::atoi( numStr.c_str() );


(2)stringstream

string s = "17";

 stringstream ss;
 ss<<s;

 int i;
 ss>>i;
 cout<<i<<endl; // 17

(3)stringstream可以吞下任何类型,根据实际需要吐出不同的类型。

  string s = "17";
  int i = boost::lexical_cast<int>(s);
  cout<<i<<endl; // 17
常用:atoi()  类似的,转成float   atof()    转成long atol()   实际上是char类型向数值类型的转换

2.int -> string 

(1)sprintf()  c语言库,可格式化字符串

int a = 10;
char s[10];
sprintf(s,"%d",a);
string str = s;
(2)stringstream

    int n = 65535;
    stringstream ss;
    string s;
    ss << n;
    ss >> s;
3. char*  <-> string
char* -> string,隐式转换   

char* c = "s1fd2";

string s = c;

string -> char*,直接调string 的方法

string s = "sdf231";

char* c = s.c_str(); 




 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值