- 论坛徽章:
- 0
|
下列程序我在Sco Unix 5.0.5、AIX 5上编译运行均显示正确:
getDateTime():2006-09-24 14:45:50
main():2006-09-24 14:45:50
唯独在HP-UX 11.11下显示不正常
getDateTime():2006-09-24 14:34:33
main():{^D^T0{^CP
源代码:
#include <time.h>
char *getDateTime()
{
char dt[50];
time_t lNow;
struct tm *pTM;
time(&lNow);
pTM=(struct tm*)localtime(&lNow);
strftime(dt,50,"%Y-%m-%d %H:%M:%S",pTM);
printf("getDateTime():%s\n",dt);
return(dt);
}
main()
{
printf("main():%s\n",getDateTime());
}
为什么main()函数中直接调用getDateTime()返回的值是乱码,而如果将getDateTime()的值赋给一个字符变量再输出这个字符值就正常了?
我的程序是哪部分有问题,怎样改写才能在三个系统中运行都正常? |
|