//====================================================================//
// 语法格式: 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';
*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';
}
//39.05.55 117.08.53
#define POSITION_CHAR_LEN 30
char position[POSITION_CHAR_LEN] = {'0'}; //位置数组,长度30
char *GPS_DisplayOne() //完成经度纬度(度分秒)字符串
{
char info[5];
memset(position,0,POSITION_CHAR_LEN); //初始化为0
strcat(position,"Lat:"); //把Lat:添加到position
Int_To_Str(GPS.latitude_Degree,info); //纬度,整型转换到字符串
strcat(position,info); //添加到position
strcat(position,"."); //添加.
Int_To_Str(GPS.latitude_Cent,info); //纬分
strcat(position,info);
strcat(position,".");
Int_To_Str(GPS.latitude_Second,info); //纬秒
strcat(position,info);
strcat(position," Lon:");
Int_To_Str(GPS.longitude_Degree,info); //经度
strcat(position,info);
strcat(position,".");
Int_To_Str(GPS.longitude_Cent,info); //经分
strcat(position,info);
strcat(position,".");
Int_To_Str(GPS.longitude_Second,info); //经秒
strcat(position,info);
// strcat(position,"\r\n");
// PCCOM(position);
return position;
}
------解决方案--------------------
这个转换算法转出来就是倒序的,所以,转换结束后,得再倒转一次
算法问题。。。
------解决方案--------------------
是不是小端模式和大端模式的相互转换?