gpt4 book ai didi

c - 如何更新 C 中显示的时间?

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:52 25 4
gpt4 key购买 nike

我正在尝试显示时间,然后等待一段时间,然后显示更新的时间。然而,我的代码同时打印,没有更新它。

到目前为止,这是我的代码:

#include<stdlib.h>
#include<time.h>
#include<sys/time.h>

int main(){
time_t timer;
time(&timer);
struct tm* time;
time = localtime(&timer);

printf("%s", asctime(time));
fflush(stdout);

sleep(4); //my attempt at adjusting the time by 4 seconds

time = localtime(&timer); // "refreshing" the time?
printf("%s", asctime(time));

return(0);

}

我的输出是:

ubuntu@ubuntu:~/Desktop$ ./tester
Sat Feb 25 08:09:01 2012
Sat Feb 25 08:09:01 2012

理想情况下,我会使用 ctime(&timer) 而不是 localtime(&timer),但我现在只是尝试将时间调整 4 秒。任何帮助将不胜感激。

最佳答案

localtime只是转换一个(指针)struct timepstruct tm ,它根本不检查现在几点。

只需调用 time(&timer)在 sleep 之后,如果您想要新的当前时间,并且不要为局部变量提供与您在同一 block 中使用的库函数相同的名称

(并且您缺少两个标题 - <stdio.h> 用于 printf<unistd.h> 用于 sleep - 确保在编译器上启用警告。)

关于c - 如何更新 C 中显示的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com