gpt4 book ai didi

c++ - 使用坐标和 time_t 的时钟程序

转载 作者:行者123 更新时间:2023-11-30 17:52:30 24 4
gpt4 key购买 nike

我正在尝试创建模拟时钟的 C++ 程序。它应该显示日期/时间并不断更新。我找到了一种让一切完美运行的方法,但我想理解代码。我对编程非常陌生,理想情况下希望了解每一行。

据我所知,这行代码为将光标移回屏幕上的指定点奠定了基础——在我的程序中,它用于返回到“开始”并“重叠”之前显示的内容。

void gotoxy (int x, int y)
{
COORD coord; // coordinates
coord.X = x; coord.Y = y; // X and Y coordinates
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

有人可以向我解释一下坐标吗?我不明白大括号中的内容背后的推理。

在 main() 中我有以下代码:

time_t now;
while (true)
{
gotoxy (0,0);
now = time(0);
cout << "The time is now: " << ctime(&now);
Sleep (20);
}
cin.get ();
return EXIT_SUCCESS;

我认为time_t是C/C++的一个函数,它显示自1970年1月1日以来耗时。我不明白它如何输出我当前的时间。

我试图注释掉部分代码,看看出了什么问题,试图弄清楚整个事情是如何工作的,但没有运气。我还在互联网上逐行搜索了几个小时,看看是否能对此有所了解。我已经采取了最后的手段,只是要求任何人帮助我理解这段代码中发生了什么。谢谢!

最佳答案

坐标只是终端中的字符位置。 (0,0) 可能意味着返回到第一个字符。执行此操作时,输出将覆盖控制台中的字符,给人一种它“更新”时间的错觉。

关于时间函数,可以阅读ctime here的文档。它返回人类可读的日期格式,而不是计数器。

具体哪部分代码不清楚?

这是一个简单的无限循环(cin.get (); 永远不会到达,程序也永远不会返回)。在循环内,光标返回到行首,打印时间并等待 20 秒重复。

关于c++ - 使用坐标和 time_t 的时钟程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16135964/

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