gpt4 book ai didi

c++ - for循环中c++中的时间(以毫秒为单位)始终相同

转载 作者:行者123 更新时间:2023-11-28 02:29:04 35 4
gpt4 key购买 nike

我有一个 for 循环:

        ofstream myfile;
myfile.open ("clnt.txt",std::ofstream::out | std::ofstream::app);
struct timeval tv;
gettimeofday(&tv, NULL);
for(int i=0;i<100;i++)
{
double time_in_mill1 =
(tv.tv_sec) * 1000 + (tv.tv_usec) / 1000 ;
cout<<time_in_mill1<<endl;
int n1=sprintf (den, "%lf", time_in_mill1);
printf ("[%s] is a string %d chars long\n",den,n1);
myfile << den;
}

在 clnt.txt 文件中,所有值都是“-2090430839.000000”,并且在屏幕上为所有 time_in_mill1 值写入“-2.09043e+09”。我预计至少有两个值是不同的。我究竟做错了什么?

最佳答案

您需要将 gettimeofday 移动到循环中并更正除法

for(int i=0;i<100;i++)
{
gettimeofday(&tv, NULL);
double time_in_mill1 =
(tv.tv_sec) * 1000 + (tv.tv_usec) / 1000.0 ;
...
}

关于c++ - for循环中c++中的时间(以毫秒为单位)始终相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479216/

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