c语⾔将字符串转成int,将int转成字符串。附带任意进制转换函
字符串函数注册登录
在⽹上看到各种将字符串转成int,和int转成字符串的⽅法。我⾃⼰⽐较喜欢⽤的⽅法是下⾯的,记住模板就⾏,最开始我也⽼是记不住,到规律,多⽤⼏遍就好了。
1.将字符串转成int
char s[20] = "123456";  // 注如果此处不是数字字符串类型,如下⾯的字符串  12abc -->  12        ab12 --> 0
int a = 0;
sscanf(s,"%d",&a);  // a = 123456  就得到了
2.将int转成字符串
int a = 12345;
char s[20] = "";
sprintf(s,"%d",a);
这时候s中保存的就是字符串“12345”。
是不是很好⽤,下⾯再附带⼀个进制转换问题
3.将nt类型转成任意进制,返回转换后的字符串
代码如下:
#include<stdio.h>
#include<stdlib.h>  //包含malloc()函数
#include<string.h>  //包含字符串的操作函数
#include<vector>    //包含vector
#include<algorithm> //包含reverse()函数,对vector进⾏反转
using namespace std;
char *toRscale(int a,int r){
char *s = (char*)malloc(sizeof(char) * 100);
strcpy(s,""); //初始化s为空串
vector<int> v;
while(a!=0){
int temp = a%r;
a = a/r;
v.push_back(temp);
}
reverse(v.begin(),v.end());
char temp[20] = "";
for(int i=0;i<v.size();i++){
int x = v[i];
strcpy(temp,""); //每轮循环初始为空串
sprintf(temp,"%d",x);
strcat(s,temp);  //字符串连接
}
return s;
}
int main(){
int a = 5;
int r = 2; //  将a转成r进制
char *s =  toRscale(a,r);
printf("%s\n",s);
return 0;
}
输出结果:  101

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。