STTNet 0.7.0

Demo:数值、随机文本与字节序

展示严格数字转换、精度处理、伪随机显示文本和 64 位字节反转。

1. 示例内容

示例中的关键调用使用中文注释,并与仓库源码、CMake 目标和当前 API 保持一致。

2. 构建与运行

cmake --build build --target sttnet_data_tools --parallel
./build/examples/sttnet_data_tools

3. 运行结果

./build/examples/sttnet_data_tools
预期:输出端口 8080、非法输入回退值 -1、保留两位的小数、24 字符显示 ID 和字节反转结果。

4. 完整源码

#include <sttnet.h>

#include <cstdint>
#include <iostream>

int main()
{
    using namespace stt::data;

    // 只有整个输入都合法时,数字转换才会成功。
    int port=0;
    NumberStringConvertUtil::toInt("8080",port,-1);
    std::cout << "port: " << port << '\n';
    NumberStringConvertUtil::toInt("8080abc",port,-1);
    std::cout << "strict fallback: " << port << '\n';

    double latency=2.34567;
    PrecisionUtil::getPreciesDouble(latency,2);
    std::cout << "rounded latency: " << latency << " ms\n";

    // 这里生成严格指定长度的 Base64 字符集伪随机文本。
    // 它不是安全 Token,也不一定是可解码的 Base64 数据。
    std::string displayId;
    RandomUtil::getRandomStr_base64(displayId,24);
    std::cout << "display id: " << displayId << '\n';

    // NetworkOrderUtil 会原地反转全部 8 个字节。它面向 STTNet 当前 Linux
    // 目标使用的 64 位 unsigned long ABI。
    unsigned long value=0x0102030405060708UL;
    NetworkOrderUtil::htonl_ntohl_64(value);
    std::cout << "byte-swapped: 0x" << std::hex << value << std::dec << '\n';
    return 0;
}