c++ ini 解析器设计与实现_哔哩哔哩_bilibili
跟着B站的一个老哥写的
用一个map<string,section> data_; 存数据。
typedef map<string,value> section
因为类型有int string定义成一个value 类。value类要定义各种类型的转换,然后通过隐式转换,通过变量类型,将字符串转成其他类型。
将数据写到文本用的是stringstream 可以很方便的写好格式
一些值得注意的点
读出的值是字符串,如何将符串还原成原本类型?
利用使用者提供的变量,把对应值定义成一个类,进行隐式转换
如int port =data[server][port]
隐式转换要在类里面定义转换
operator int ();
operator string()
在把数据写到文本里面,和整数转成字符串类型用了stringstream 还是蛮方便的。
写之前得定义好数据类型。
ofstream app模式会重启一行不会在旧数据那行继续写。
一个函数参数不确定左右值,可以用const 去,const可以存左右值 好像是这样,书上看了忘了