gpt4 book ai didi

c++ - 如何将 boost::uintmax_t 转换为 std::string

转载 作者:太空宇宙 更新时间:2023-11-04 11:59:51 29 4
gpt4 key购买 nike

boost::filesystem::file_size() 返回 boost::uintmax_t。那么,如何将 boost::uintmax_t 转换为 std::string

最佳答案

好吧,您可以使用一些简单的方法,例如:

boost::lexical_cast<std::string>(size);

或者手动使用字符串流:

static_cast<std::stringstream>(std::stringstream() << size).str()

数字运算符是一个成员,因此即使在 C++03 中它也应该临时工作;其他一些重载是自由函数,在 C++03 中它们不接受临时函数,但您可以使用 std::stringstream().flush() , 它返回 lvalue 引用并且比所有 operator<<重载工作。

但这不仅仅是简单的数字。是文件大小。因此,您很可能应该将其四舍五入并处理 kB/MB/GB/KiB/MiB/GiB 单位。在这种情况下,请查看 libkibi .

关于c++ - 如何将 boost::uintmax_t 转换为 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14578323/

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