turbo c 中字节转换字符串问题!!!
#include ...
int toInt(char param[]);
void main(){
fp = fopen("info.dat","rb");
int ldate;
int ltime;
unsigned char sdate[4]; /*日期*/
unsigned char stime[4]; /*时间*/
fread(sdate,4,1,fp);
fread(stime,4,1,fp);
ldate = toInt(sdate);
ltime = toInt(stime);
printf("long ldate is %d\n ",ldate);
printf("long ltime is %d\n",ltime);
}
int toInt(char param[])
{
int ch1 = param[3] & 0xFF;
int ch2 = param[2] & 0xFF;
int ch3 = param[1] & 0xFF;
int ch4 = param[0] & 0xFF;
return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
}
程序运行结果:本来ldate应该是20030603 但输出结果确是-1526644982
本来ltime应该是082518 但输出结果却是905969999
请各位帮忙看一下是什么原因,急用!!谢谢!