C++ 字符串与char、char*、int的相互转换

1.字符转换为string类型

引入stringstream类,间接转换。

#include<sstream>
char ch;
string str;
stringstream stream;
stream << ch;
str = stream.str();

2.char * 或char[]转换为string类型

可以直接赋值。

string s1,s2;
char *p = "hello";
char a[]="hjfghf";
s1 = p;//直接赋值
s2 = a;//直接赋值

3.string类型转换为char*

copy()方法,注意最后添加’\0’。

 string str="hmmm";
 char p[50];
str.copy(p, 4, 0);//这里4代表复制几个字符,0代表复制的起始位置位置
 *(p+5)='\0';//注意添加'\0'

string类型转换为int类型

1.使用istringstream,类似的还可以转换为double类型。

#include <sstream> 
string str("213");
istringstream in(str);
int i;
in>>i;//转换成功

2.使用stoi(string elem) ,类似的还有函数stod(s);//转换为double型。

#include <algorithm>
string s="213";
int m=stoi(s);

4. int类型转换为string类型

采用全局函数to_string:

string to_string (int val);

string pi = "pi is " + to_string(3.1415926);  

5.char*转换为int类型

使用函数atoi()。

#include <algorithm>
char *c="213";
int b=atoi(c);  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值