2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言 int类型转换为string类型

c语言 int类型转换为string类型

时间:2020-12-06 06:35:08

相关推荐

c语言      int类型转换为string类型

1. int类型 12345 转换为char类型 12345:

#include "stdio.h" /***int类型转换为string类型*Int_i: 要转换的int类型*String_s:转换后的string类型**/void Int_To_Str(int Int_i,char *String_s){int a;int b= 0; //用于计数char *ptrfing,pBuffer[5];//定义一个字符串数组和字符串指针,ptrfing = String_s; //内部指针指向外部指针,进行参数传递,是属于源参数传递(通过地址),if(Int_i< 10) // 当整数小于10,转换为0x格式{*ptrfing ++ = '0'; //单个数字前面补0*ptrfing ++ =Int_i+0x30;}else{while(Int_i> 0){a= Int_i% 10;Int_i=Int_i/ 10;pBuffer[b++] =a+0x30; // 通过计算把数字编成ASCII码形式}b-- ;for(;b>= 0;b--) // 将得到的字符串倒序{*(ptrfing++) = pBuffer[b];}}*ptrfing = '\0';}int main(){int a=12345;char b[4];Int_To_Str(a,b);printf("转换为char类型:b= %s\n",b); }

执行结果:

2.int类型 12345 转换为char类型 12345:

#include "stdio.h" /***int类型转换为string类型*Int_i: 要转换的int类型*String_s:转换后的string类型**/char* Int_To_Str(int num,char *str)//10进制 {int i = 0;//指示填充str //确定开始调整的位置 int j = 0;if(num<0)//如果num为负数,将num变正 {num = -num;str[i++] = '-';} //转换 do{str[i++] = num%10+48;//取num最低位 字符0~9的ASCII码是48~57;简单来说数字0+48=48,ASCII码对应字符'0' num /= 10;//去掉最低位}while(num);//num不为0继续循环str[i] = '\0';if(str[0]=='-')//如果有负号,负号不用调整 {j = 1;//从第二位开始调整 ++i;//由于有负号,所以交换的对称轴也要后移1位 }//对称交换 for(;j<i/2;j++){//对称交换两端的值 其实就是省下中间变量交换a+b的值:a=a+b;b=a-b;a=a-b; str[j] = str[j] + str[i-1-j];str[i-1-j] = str[j] - str[i-1-j];str[j] = str[j] - str[i-1-j];} return str;//返回转换后的值 }int main(){int a=12345;char b[4];Int_To_Str(a,b);printf("转换为char类型:b= %s\n",b); }

执行结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。