当前位置: 技术问答>linux和unix
time()函数怎么不好用啊?
来源: 互联网 发布时间:2015-11-13
本文导语: 我遇到了一个奇怪的问题,请广大朋友给予帮助。 #include #include int main(int argc, char **argv) { long r = time(); return 0; } 这个程序没有任何问题,编译成功,可是我只是添加了一些头文件,如下: #inclu...
我遇到了一个奇怪的问题,请广大朋友给予帮助。
#include
#include
int main(int argc, char **argv)
{
long r = time();
return 0;
}
这个程序没有任何问题,编译成功,可是我只是添加了一些头文件,如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
long r = time();
return 0;
}
此时再次编译便出现错误(下面错误信息中的“time1.c”是源程序文件的名字):
time1.c: In function `main':
time1.c:34: error: too few arguments to function `time'
这令我十分疑惑,到底是为什么呢?难道是其他头文件中有类似的函数,或者其他的原因?上面那些头文件是我正在做的一个工程所要用到的头文件,所以我不想将它们中的某一个删除,但是我还想利用time()函数的功能,请问我该怎么办啊?
#include
#include
int main(int argc, char **argv)
{
long r = time();
return 0;
}
这个程序没有任何问题,编译成功,可是我只是添加了一些头文件,如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv)
{
long r = time();
return 0;
}
此时再次编译便出现错误(下面错误信息中的“time1.c”是源程序文件的名字):
time1.c: In function `main':
time1.c:34: error: too few arguments to function `time'
这令我十分疑惑,到底是为什么呢?难道是其他头文件中有类似的函数,或者其他的原因?上面那些头文件是我正在做的一个工程所要用到的头文件,所以我不想将它们中的某一个删除,但是我还想利用time()函数的功能,请问我该怎么办啊?
|
time(NULL);
|
跟头文件顺序没有关系。没加头文件时,没有time的原型,怎么调用都可以,C编译器不报错。有了原型声明就不行了,因为C不支持函数覆盖,所以报错了。
|
用到 time()应该要 time.h头文件吧
我在time.h文件中看了下
typedef long time_t;
time_t _Cdecl time (time_t *timer);
time 函数是有参数的
我在time.h文件中看了下
typedef long time_t;
time_t _Cdecl time (time_t *timer);
time 函数是有参数的
|
跟头文件顺序没有关系。没加头文件时,没有time的原型,怎么调用都可以,C编译器不报错。有了原型声明就不行了,因为C不支持函数覆盖,所以报错了。
这位老师讲解的很详细了
就是这个原因
一开始不报错 不代表 你没有错
还是踏实点 看man time
或者找本linux下 c函数大全,就可以节约你很多上网问问题的时间了
struct timeval nowit;
gettimeofday(&nowit,NULL);
|
man 2 time看time函数原型就明白了。
|
man gettimeofday
|
ansi c有函数原型的概念