我希望格式化ns和ns_old,以便驗證是否服從設置的inter_arrival(即,如果我給inter_arrival = 10,它應該正確地反映在ns_diff中)。有人可以提供一些關於如何做到這一點的細節。格式化時間(使用timespec)以毫秒爲單位獲得正確的值
#include <iostream>
#include <stdlib.h>
#include <ctime> // for getting time
#include <sys/time.h> // for time
#include <unistd.h> // for microsecond sleep
#include <stdint.h> // for different integer types
#include <stdint.h>
uint64_t ns, sec, ns_old, ns_diff;
struct timespec ts;
int inter_arrival = 10;
void ttime_func(){
clock_gettime(CLOCK_MONOTONIC, &ts);
ns = ts.tv_sec * 1000000000 + ts.tv_nsec;
ns_diff = ns -ns_old;
// writing to my output log file
std::cout << ns_old << "\t" << ns << "\t" << ns_diff << "\t" << std::endl;
ns_old = ns;
usleep(inter_arrival);
}
int main()
{
for(int i=0;i<15;i++)
{
ttime_func();
}
}
其中是ns_old的聲明和初始化? – Doonyx 2015-02-10 12:11:49
對不起,我有一個大的代碼庫。所以簡化它 – user2532296 2015-02-10 12:14:25
不幸的是,你通過刪除你所問的東西來「簡化」它。請發佈您的[_minimal testcase_](http://stackoverflow.com/help/mcve)。 – 2015-02-10 12:35:23