当前位置: 技术问答>linux和unix
有没有搞错啊,<time.h>
来源: 互联网 发布时间:2015-04-24
本文导语: #include #include main() { char *buf; struct tm *p; time_t t; time(&t); // p=gmtime(&t); // buf=asctime(p); p = localtime(&t); //WARNING:²»ÊÇḬ̈߳²È«º¯Êý£¬¿&Eacu...
#include
#include
main() {
char *buf;
struct tm *p;
time_t t;
time(&t);
// p=gmtime(&t);
// buf=asctime(p);
p = localtime(&t); //WARNING:²»ÊÇḬ̈߳²È«º¯Êý£¬¿ÉÄÜÓÐÎÊÌâ
strftime(buf,50,"%Y-%m-%d %H:%M:%S",p);
printf("%s",buf);
}我一次用gmtime,一次用localtime编译通过后运行的结果都是segmentation fault
#include
main() {
char *buf;
struct tm *p;
time_t t;
time(&t);
// p=gmtime(&t);
// buf=asctime(p);
p = localtime(&t); //WARNING:²»ÊÇḬ̈߳²È«º¯Êý£¬¿ÉÄÜÓÐÎÊÌâ
strftime(buf,50,"%Y-%m-%d %H:%M:%S",p);
printf("%s",buf);
}我一次用gmtime,一次用localtime编译通过后运行的结果都是segmentation fault
|
typedef long time_t; /* time of day in seconds */
当然这是现在的定义,本来程序员应该不关心的。
当然这是现在的定义,本来程序员应该不关心的。
|
你的原先的程序中指针buf没有初始化,它指向一个不确定的地址
你对一段本不该访问的内存进行操作肯定会segmentation fault
最好再定义指针后对其初始化,以预防这种野指针出现
你对一段本不该访问的内存进行操作肯定会segmentation fault
最好再定义指针后对其初始化,以预防这种野指针出现