使用protobuf编写配置文件以及读写

.proto文件示例

message Configure
{
    required string host = 1;
    required uint32 port = 2;
}

写配置文件代码

Configure config;

config.set_host("127.0.0.1");config.set_port(8080);

string contect;

google::protobuf::TextFormat::PrintToString(config, & contect);
ofstream fout;

fout.open("config.cfg", ios::out| ios_base::ate);

if (!fout.is_open())
{
    fprintf(stderr, "open config.cfg fail\n");
    return -1;
}

fout << contect <<endl;

fout.flush();

fout.close();

读配置文件

int fd = open("config.cfg", O_RDONLY);

if (fd < 0)
{
    printf("open config.cfg failure:%s \n",strerror(errno));
    return false;
}

google::protobuf::io::FileInputStream fileInput(fd);

fileInput.SetCloseOnDelete(true);

google::protobuf::TextFormat::Parse(&fileInput, &config);
时间: 2024-10-06 07:51:54

使用protobuf编写配置文件以及读写的相关文章

配置文件的读写(转载自逆心)

配置文件的读写 System.ConfigurationManager类用于对配置文件的读取.其具有的成员如下: 一.AppSettings AppSetting是最简单的配置节,读写非常简单. 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数据 ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据 <?xml version="1.0" encoding=&

C语言编写的bmp读写程序

C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下 [cpp] view plaincopy <span style="font-size:16px;">#include "Windows.h" #include "stdio.h" #include "string.h" #include "malloc.h" unsigned char *pBmpBuf;//读入图像数据的指针 i

配置文件的读写

System.ConfigurationManager类用于对配置文件的读取.其具有的成员如下: 一.AppSettings AppSetting是最简单的配置节,读写非常简单. 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数据 ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据 <?xml version="1.0" encoding="utf

protobuf 作为配置文件

公司每个project代码中,都有一个Config类,作为模块启动的配置.其实现如下 struct Config { int num; char * file_name; int load_from_file(const char* filename); } int Config::load_from_file(const char* filename) { ConfigDom dom; parse_node_from_file(&dom, filename); get_value("n

C语言ini格式配置文件的读写

依赖的类 1 /*1 utils.h 2 *# A variety of utility functions. 3 *# 4 *# Some of the functions are duplicates of well known C functions that are not 5 *# standard. 6 *2 License 7 *[ 8 *# Author: Werner Stoop 9 *# This software is provided under the terms of

使用mybatis、Struts等框架编写配置文件时添加离线DTD验证

在使用mybatis.Struts等框架编写配置文件时,因配置文件是XML文件并且默认是用在线DTD验证的:若当前系统未联网,并且开发工具中并未集成所需DTD的验证文件时,就需手动设置本地DTD文件验证了. 以下以在mybatis中配置为例: 1.  打开配置文件如图: 复制:http://mybatis.org/dtd/mybatis-3-mapper.dtd 2.  获得DTD验证文件,直接在联网电脑浏览器上输入上步复制的网址:如http://mybatis.org/dtd/mybatis-

编写配置文件没有提示,如何显示?

如果电脑不能联网,编写配置文件是没有提示的,需要自己手动配置,(截图参考) 解决方法: 首先复制:http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd -->window-->preferences-->搜索xml-->选择 xml catalog -->点击add-->现在URI--> 粘贴复制的地址-->选择location,选择本地的DTD的路径 原文地址:https://www.cnblogs.

c# 配置文件的读写

一.配置文件 app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="String1" value="value1" /> <add key="String2" value="value2+" /> &l

java配置文件的读写

最近在做一个爬虫项目时,用到了读写配置文件的方法,记录下来以后可能用的到. Properties pro = new Properties(); boolean IsFirst = true; //从类加载路径读取文件,所以文件位置需要放对 InputStream in = PropertiesUtil.class.getClassLoader() .getResourceAsStream("config.properties"); pro.load(in); //获取properti