如何将std :: string转换为boost :: chrono :: nanseconds

how to convert std::string to boost::chrono::nanoseconds

本文关键字:boost chrono nanseconds 转换 string std      更新时间:2023-10-16

我尝试了词汇从std :: string和long long中铸造它。两者都给出零值。有什么想法吗?

boost::lexical_cast<boost::chrono::nanoseconds>(value) //value can be of std::string or long long type

尝试首先使用词汇铸件,以查看预期的内容:

#include <iostream>
#include <string>
#include "boost/lexical_cast.hpp"
#include "boost/chrono.hpp"
int main()
{
    boost::chrono::nanoseconds test1{1000}; // could use long long here directly
    auto text = boost::lexical_cast<std::string>(test1);
    std::cout << text << 'n';
    auto val = boost::lexical_cast<boost::chrono::nanoseconds>(text);
    std::cout << val << 'n';
}

打印:

1000 nanoseconds
1000 nanoseconds

时间单元没有定义输入/输出流。

首先转换为ull:

boost::chrono::nanoseconds(boost::lexical_cast<uint64_t>(value))