您的位置:首页 > 汽车 > 时评 > 成立劳务公司需要什么条件_八爷源码网_站长工具seo综合查询官网_在线crm

成立劳务公司需要什么条件_八爷源码网_站长工具seo综合查询官网_在线crm

2024/12/23 20:58:20 来源:https://blog.csdn.net/ckg3824278/article/details/144432830  浏览:    关键词:成立劳务公司需要什么条件_八爷源码网_站长工具seo综合查询官网_在线crm
成立劳务公司需要什么条件_八爷源码网_站长工具seo综合查询官网_在线crm

 cpptoml 是一个用于 C++ 的开源库,旨在提供对 TOML(Tom's Obvious, Minimal Language)格式的支持。它允许开发者轻松地在 C++ 项目中读取、解析和生成 TOML 格式的配置文件。cpptoml 是一个轻量级、易于使用的库,适用于那些希望将 TOML 格式作为配置文件格式的 C++ 项目。

主要特点:

  • 简洁的 API:cpptoml 提供了一个易于使用的接口,支持从 TOML 配置文件中读取各种数据类型(如整数、浮动点数、字符串、布尔值、日期等)。
  • 头文件库:cpptoml 是一个纯头文件库,意味着你不需要编译库,只需要包含相应的头文件即可。
  • 支持嵌套结构:cpptoml 完全支持 TOML 的嵌套表格、数组以及其他复杂的数据结构。
  • 类型安全:cpptoml 提供了类型安全的接口,确保你从 TOML 文件中获取的每个值都与其预期的数据类型匹配。

安装:
由于 cpptoml 是一个头文件库,你只需要下载源代码并将其包含在你的项目中即可。你可以从 GitHub 上下载最新版本:

GitHub 地址:点击跳转

mkdir build
cd build
cmake ../
make

#config.toml
[owner] 
name = "Tom Preston-Werner"
dob = "1979-05-27T07:32:00Z"[database]
server = "192.168.1.1"
ports = [ 8001, 8002, 8003 ]
connection_max = 5000
enabled = true
#include <iostream>
#include <chrono>
#include <string>
#include <sstream>
#include <iomanip>
#include <ctime>#include "cpptoml.h"int main(int argc, char *argv[])
{// 载入 TOML 文件auto config = cpptoml::parse_file("config.toml");// 读取并输出 "owner" 部分的 name 和 dobauto owner = config->get_table("owner");std::string name = owner->get_as<std::string>("name").value_or("Unknown");//std::string dob = owner->get_as<std::string>("dob").value_or("Unknown");// 解析 "dob" 字段为字符串auto dob_str = owner->get_as<std::string>("dob").value_or("");if (!dob_str.empty()) {// 转换字符串为 time_point (std::chrono)std::tm tm = {};std::istringstream ss(dob_str);ss >> std::get_time(&tm, "%Y-%m-%dT%H:%M:%SZ");if (ss.fail()) {std::cout << "Failed to parse date-time." << std::endl;return 1;}// 转换为 std::chrono::system_clock::time_pointstd::time_t t = std::mktime(&tm);auto dob = std::chrono::system_clock::from_time_t(t);// 输出时间std::time_t dob_time = std::chrono::system_clock::to_time_t(dob);std::cout << "DOB: " << std::ctime(&dob_time); // 输出类似 "Sun May 27 07:32:00 1979"} else {std::cout << "'dob' field not found!" << std::endl;}std::cout << "Owner Name: " << name << std::endl;//  std::cout << "Owner DOB: " << dob << std::endl;// 读取 "database" 部分的 server 和 portsauto database = config->get_table("database");std::string server = database->get_as<std::string>("server").value_or("Unknown");auto ports = database->get_array_of<int64_t>("ports");std::cout << "Database Server: " << server << std::endl;std::cout << "Database Ports: ";for (auto &port : *ports) {std::cout << port << " ";}std::cout << std::endl;return 0;
}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com