各种类型数据的转换(c++)

各种类型数据的转换(c++)

string转char*

使用string提供的函数c_str() ,或是函数data(),
data除了返回字符串内容外,不附加结束符’\0’。
c_str()返回一个以‘\0’结尾的字符数组,返回的是指针类型。
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
比如:char c[20];
string s=“1234”;
strcpy(c,s.c_str());
这样才不会出错,c_str()返回的是一个临时指针,不能对c=s.c_str();进行操作
2.

char*或char[ ]转string

可以直接赋值。


 string s1;   
 string s2;
  char* p = "adghrtyh";   
   const char a[] ="adghrtyh";    
   s1=a;   
   s2 = p;

注意:用printf("%s",s2);输出是会出问题的。printf("%s",s2.c_str());这样是对的。当然,直接用cout不会出现问题

3、

char转int*

char *a="1212";
int b=atoi(a);

输出1212
4、

string转int

需要先将string转换成char*再转换成int

string str="1234";
char *a=str.c_str(str);
int b=atoi(a);

输出b为1234
5、

int转string

int n = 0;
stringstream ss;
string str;
ss<<n;
ss>>str;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值