繁体   English   中英

如何使用C ++中的以下代码生成秒表​​/倒计时?

[英]How can I generate a stopwatch/countdown with the following code in C++?

我正在尝试创建一个计时器函数,该函数打印一个2分钟的计时器(以M:S形式),该计时器本身会自动计时。 我有以下代码:

    void startTimer(){
    srand(time(0));

    clock_t start_t, end_t;
    clock_t start = clock();        
    clock_t end = clock();
    float seconds = (float)(end - start) / CLOCKS_PER_SEC;

    printf("%d", start, seconds);
    }

我不太了解您的代码。

  • 您要如何处理随机?
  • 为什么要声明start_t和end_t?
  • 您认为起点和终点将具有什么价值?
  • 您要打印什么?

如果您想要一个2分钟的计时器,也许您可​​以使用从120到0的循环,其中有一个printf(分钟=索引/ 60,秒=索引%60),并且在循环内有1秒的睡眠时间。 那会阻塞循环的线程。 那是问题吗?

如果是,则可能需要查看其他解决方案,例如将循环移动到另一个线程中

您拥有的代码可以衡量运行一段代码所花费的时间。 您在这里需要的只是:

  • 倒数
  • 睡一秒钟

并循环执行。

#include <iostream>
#include <unistd.h>


int main(){
  for (int i = 120; i >=0; i--){
    std::cout << std::to_string(i/60) <<":" << std::to_string(i%60) <<std::endl; 
    sleep(1);
  }
  return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM