整形数字、(C++字符串)string、(C类型字符串)char *之间的转换

整形数字、(C++字符串)string、(C类型字符串)char *之间的转换

  1. 将数字转换为char *类型的字符串
char str[15];
int num = 123456;
sprintf(str, "%d", num); 
printf("str = %s\n", str);

//除sprintf()函数之外后还有itoa()函数
//value将要转换的值,str结果,对应的进制,比如10, 2, 8, 16
char *itoa(int value, char *str, int radix) 
//但是不推荐使用,itoa()函数是非标准函数,只可以在windows上使用,在其他系统上使用不了,小编在ubuntu上试了,这样会出错。
  1. 数字转换为string类型的字符串
string ans;
int num = -12345;
ans = to_string(num);
cout << ans << endl;
  1. 将char *类型的字符串转换为数字
char str[15] = "-12345";
int ans = atoi(str);
  1. 将string类型的字符串转换为数字
string str = "-1235";
int ans = stoi(str);
  1. 将string类型转换为char *类型的字符串
string s1 = "-123";
char ans[15];
ans = s1.c_str();
  1. 将char *转换为string类型
char str1[15] = "-1223";
string s1 = "";
s1 += str1;

此外数字和string类型字符串之间的转换还可以通过字符串流来实现

#include <sstream>  //字符串流对应的头文件
  1. 将数字转换为string
int num = -12345;
ostringstream oss;
oss << num;
string ans = oss.str();
  1. 将string转换为数字
string str = "-1234";
istringstream iss(str);
int ans;
iss >> ans;
printf("%d\n", ans);


以上代码小编亲测有效,小编也是怕忘记,所以整理了一下 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值