#include <stdio.h>
#include <time.h> /*包含“time.h”头文件。*/
int main()
{
time_t *p; /*定义一个指向time_t类型变量的指针。*/
time(p); /*取时间,参数是指针p,返回结果到指针的内存单元。*/
printf("Now :%ld\n",*p); /*输出时间。*/
}
运行环境为ubuntu11.04 GNU 。出错段错误!
------解决方案--------------------
也可以这么用(应该能够在linux使用)
- C/C++ code
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; time_t timep; struct tm *p; time(&timep); p=gmtime(&timep); printf("%d-%d-%d",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday); printf(" %s %02d:%02d:%02d\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec); p=localtime(&timep); printf("%d-%d-%d",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday); printf(" %s %02d:%02d:%02d\n", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec); }
------解决方案--------------------
time_t *p;是个指针,没分配time_t的内存。
------解决方案--------------------
- C/C++ code
#include <stdio.h> #include <time.h> /*包含“time.h”头文件。*/ #include <stdlib.h> #include <malloc.h> int main() { time_t *p; /*定义一个指向time_t类型变量的指针。*/ p=(time_t *)malloc(sizeof(time_t)); if (p) { time(p); /*取时间,参数是指针p,返回结果到指针的内存单元。*/ printf("Now :%ld\n",(long int)*p); /*输出时间。*/ free(p); } }