高手看看为何需要将数据倒序存储
//====================================================================//
//语法格式: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;
}
[解决办法]
这个转换算法转出来就是倒序的,所以,转换结束后,得再倒转一次
算法问题。。。
[解决办法]
是不是小端模式和大端模式的相互转换?