c++从int转string、char的方法总结

一、int to string(整型到字符串)


(1)函数:int sprintf(char *buffer, const char *format [, argument] ...);

头文件:#include<stdio.h>


例子:

#include<iostream>
#include<stdio.h>

using namespace std;
int main(){
	int ss;
	char temp[64];
	string str;
	ss = 1000;
	sprintf(temp, "%d", ss);
	string s(temp);
	
	//调用string的方法
	cout<<s.c_str()<<endl; //1000
	cout<<s.size()<<endl;  //长度为4 
}

输出:

1000
4


(2) 函数:char * _itoa(int value, char *string, int radix);

头文件:#include<stdlib.h>


例子:

#include<iostream>
#include<stdlib.h>

using namespace std;
int main(){
	char buffer[20];
	int i=3445;
	_itoa(i,buffer,10);
	string s(buffer);
	cout<<s<<endl;
	
}

输出:

3445


(3)函数:stringstream()

头文件:#include<sstream>


例子:

#include<iostream>
#include<sstream>

using namespace std;
int main(){
	int hello = 4;
	stringstream ss;
	ss<<hello;
	string s=ss.str();
	
	//调用string的方法
	cout<<s.c_str()<<endl; 
}

输出:

4


(4)to_string函数

int i=123;
string s=to_string(i);


二、char型数字转换为int型


(1)使用char-'0' 法

#include<iostream>


using namespace std;
int main(){
<span style="white-space:pre">	</span>char a[] = "32";
<span style="white-space:pre">	</span>int m = a[0]-'0';
<span style="white-space:pre">	</span>cout<<m<<endl;
}

输出结果

3


(2)使用atoi函数

头文件:#include<stdlib.h>


例子:

#include<iostream>
#include<stdlib.h>

using namespace std;
int main(){
	char str[] = "1234";
	int a=atoi(str);
	cout<<a<<endl;
}

输出:

1234


三、介绍两个函数


(1)itoa函数

功能:把一整数转换为字符串

函数原型:char *itoa(int value, char *string, int radix);

头文件:#include<stdlib.h>

参数:

value:待转化的整数

radix:是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

string:保存转换后得到的字符串


例子:

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main(){
	int number = 1234;
	char string[25];
	itoa(number,string,10);
	cout<<number<<endl;
	cout<<string<<endl;
	return 0;
}

输出:

1234
1234


(2)atoi函数

功能:把字符串转换成整型

函数原型:int atoi(const char *nptr);

头文件: #include<stdlib.h>


例子:

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main(){
	int n;
	char str[] = "1234";
	n = atoi(str);
	cout<<n<<endl;
	return 0;
}

输出:

1234


(3)char转string

string s(char *);


(4)string 转char *

char *p = string.c_str();






  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值