c语言将字符串转成int,将int转成字符串。附带任意进制转换函数

c语言将字符串转成int,将int转成字符串。附带任意进制转换函数

免费chatgpt使用网址 http://ffff.chat:2023 在设置中设置userID

在网上看到各种将字符串转成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

#include //包含malloc()函数

#include //包含字符串的操作函数

#include //包含vector

#include //包含reverse()函数 ,对vector进行反转

using namespace std;

char *toRscale(int a,int r){

char *s = (char*)malloc(sizeof(char) * 100);

strcpy(s,""); //初始化s为空串

vector 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

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

相关推荐

【塞尔达王国之泪】米多娜的王冠获取方式
关于句子的英语游戏精选207句
钱包审核多久下款 贷款钱包审核要多久
竿有几画 “竿”字有多少笔画
南京的阿里和字节咋样啊 或者还有啥南京的公司推荐吗
讟謗的意思