C++ 中获取纳秒精度的时间

作者: , 共 398 字 , 共阅读 0

主要函数是timespec_get,可参考https://zh.cppreference.com/w/c/chrono/timespec_get

#include <time.h>

std::string time_in_nanoseconds()
{
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);

    static char buff[64];
    int end = strftime(buff, sizeof buff, "%Y-%m-%d %H:%M:%S", gmtime(&ts.tv_sec));
    sprintf(buff + end, " %09ld", ts.tv_nsec);

    return buff;
}

Q. E. D.

类似文章:
相似度: 0.257
编程 » C++, 算法, 代码片段
一个短小、高效的 C++函数,用来判断指定日期是星期几:
获取程序占用的内存量,是一个诡异的需求。但程序写多了,有时候还真需要,尤其是代码运行出现问题的时候。
编程 » C++, 智能指针
理论上而言,当 C++提供了std::unique_ptr, C++的程序就不应该出现普通指针了。所有普通指针都可以用std::unique_ptr代替,避免手动删除对象。
编程 » C++, C++标准库
std::tuple的原理并不复杂,但有些细节非常有意思。其中有一个是至少在gnu C++ std的实现中,std::tuple是倒序存储的:
看到网上有片段,提到没有必要自己实现自旋锁,因为标准库的 std::mutex 和现在的自旋锁的实现没有两样。比较好奇,翻了一些资料,试图找到答案。