//====================================================================//
//
函数:
Int_To_Str(int x,char *Str)
//
功能:
将整型转为字符串
//
参数:
x: 转换的整数
//
Str: 转换后的字符串
//
返回值:
无
//====================================================================//
void Int_To_Str(int x,char *Str)
{
int t;
char *Ptr,Buf[5]; //定义一个字符串数组和字符串指针,
int i = 0; //用于计数
Ptr = Str; //内部指针指向外部指针,进行参数传递,是属于源参数传递(通过地址),
if(x < 10)
// 当整数小于10,转换为0x格式
{
*Ptr ++ = '0'; //单个数字前面补“0”
*Ptr ++ = x+0x30;
}
else
{
while(x > 0)
{
t = x % 10;
x = x / 10;
Buf[i++] = t+0x30;
// 通过计算把数字编成ASCII码形式
}
i -- ;
for(;i >= 0;i --)
// 将得到的字符串倒序
{
*(Ptr++) = Buf[i];
}
}
*Ptr = '\0';
}
下面是在c编辑器中验证的一个小程序
#include <stdio.h>
#include <stdlib.h>
void Int_To_Str(int x,char *Str);
int main()
{
int i =123;
int j=0;
char Msg[20]="ABCDEFGHIJKLMNOPQRST";
char *P_Str;
Int_To_Str(i,Msg);
P_Str = &Msg;
while(*P_Str!='\0')
{
printf("%c",*P_Str);
P_Str++;
}
printf("\n");
system("pause");
return 0;
}
void Int_To_Str(int x,char *Str)
{
int t;
char *Ptr,Buf[5];
int i = 0;
Ptr = Str;
if(x < 10) // 当整数小于10,转换为0x格式
{
*Ptr ++ = '0';
*Ptr ++ = x+0x30;
}
else
{
while(x > 0)
{
t = x % 10;
x = x / 10;
Buf[i++] = t+0x30; // 通过计算把数字编成ASCII码形式
}
i -- ;
for(;i >= 0;i --) // 将得到的字符串倒序
{
*(Ptr++) = Buf[i];
}
}
*Ptr = '\0';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)