读书人

C语言中time函数使用出错解决方案

发布时间: 2012-05-16 11:12:12 作者: rapoo

C语言中time函数使用出错
#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);  }} 

读书人网 >C语言

热点推荐