求助!字符串乱码的问题
#include <stdio.h>
int ChangeTime(char *sInTime, char sOutTime[])
{
/* char sYear[4],sMonth[2],sDay[2];
char sHour[2],sMin[2],sSec[2];
sYear[4]=0;
sMonth[2]=0;
sDay[2]=0;
sHour[2]=0;
sMin[2]=0;
sSec[2]=0;*/
char sYear[4+1],sMonth[2+1],sDay[2+1];
char sHour[2+1],sMin[2+1],sSec[2+1];
strncpy(sYear,sInTime,4);
strncpy(sMonth,sInTime+4,2);
strncpy(sDay,sInTime+6,2);
strncpy(sHour,sInTime+8,2);
strncpy(sMin,sInTime+10,2);
strncpy(sSec,sInTime+12,2);
printf("%s%s%s%s%s%s\n",sYear,sMonth,sDay,sHour,sMin,sSec);
printf("%s-%s-%s %s:%s:%s\n",sYear,sMonth,sDay,sHour,sMin,sSec);
sprintf(sOutTime,"%s-%s-%s %s:%s:%s",sYear,sMonth,sDay,sHour,sMin,sSec);
if(strlen(sOutTime)!= 20)
{
return -1;
}
return 0;
}
int main(int argc,char **argv){
char *sInTime;
char sOutTime[30];
sInTime="20070301235959";
ChangeTime(sInTime,sOutTime);
printf("%s\n",sOutTime);
return 0;
}
运行结果是
20070301235959
2007?3@0103@0101235959
2007?3@01-03@01-01 23:59:59
2007?3@01-03@01-01 23:59:59