首页 > 编程知识 正文

c语言 int类型转换为string类型,基本类型转换为string

时间:2023-05-03 15:51:01 阅读:233539 作者:2462

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 = '';}int main(){int a=12345;char b[4];Int_To_Str(a,b);printf("转换为char类型:b= %sn",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] = '';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= %sn",b); }

执行结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。