天嵌二次封装库使用手册  V2.1.2
iniparser.h
浏览该文件的文档.
1 
7 #ifndef LINUX_LIBV2_SOURCE_INIPARSER_LIB_INIPARSER_H_
8 #define LINUX_LIBV2_SOURCE_INIPARSER_LIB_INIPARSER_H_
9 
10 // Copyright 2024
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <ctype.h>
20 /*--------------------------------------------------------------------------*/
21 
22 #include "dictionary.h"
23 
24 /*
25  * 下面的#include在许多Unix上是必要的,但Linux不是.
26  * Windows平台不需要它.
27  * 如果需要,取消注释.
28  */
29 /* #include <unistd.h> */
30 
31 
32 
33 #ifdef __cplusplus
34 #define INIPARSER_API extern "C"
35 #else
36 #define INIPARSER_API
37 #endif
38 
50 
57  INIPARSER_API const char *iniparser_getsecname(const dictionary *d, int n);
58 
66  INIPARSER_API void iniparser_dump_ini(const dictionary *d, FILE *f);
67 
76  INIPARSER_API void iniparser_dumpsection_ini(const dictionary *d, const char *s, FILE *f);
77 
85  INIPARSER_API void iniparser_dump(const dictionary *d, FILE *f);
86 
93  INIPARSER_API int iniparser_getsecnkeys(const dictionary *d, const char *s);
94 
104  INIPARSER_API const char **iniparser_getseckeys(const dictionary *d, const char *s, const char **keys);
105 
116  INIPARSER_API const char *iniparser_getstring(const dictionary *d, const char *key, const char *def);
117 
132  INIPARSER_API int iniparser_getint(const dictionary *d, const char *key, int notfound);
133 
148  INIPARSER_API long int iniparser_getlongint(const dictionary *d, const char *key, long int notfound);
149 
159  INIPARSER_API double iniparser_getdouble(const dictionary *d, const char *key, double notfound);
160 
186  INIPARSER_API int iniparser_getboolean(const dictionary *d, const char *key, int notfound);
187 
197  INIPARSER_API int iniparser_set(dictionary *ini, const char *entry, const char *val);
198 
206  INIPARSER_API void iniparser_unset(dictionary *ini, const char *entry);
207 
216  INIPARSER_API int iniparser_find_entry(const dictionary *ini, const char *entry);
217 
226  INIPARSER_API dictionary *iniparser_load(const char *ininame);
227 
235 
236 #endif
INIPARSER_API int iniparser_getnsec(const dictionary *d)
获取dictionary对象的section个数
INIPARSER_API int iniparser_set(dictionary *ini, const char *entry, const char *val)
设置dictionary对象的某个条目(section:key的值)
INIPARSER_API const char ** iniparser_getseckeys(const dictionary *d, const char *s, const char **keys)
获取dictionary对象某个section下所有的key
INIPARSER_API long int iniparser_getlongint(const dictionary *d, const char *key, long int notfound)
获取与键相关联的字符串,转换为 long int类型
INIPARSER_API const char * iniparser_getsecname(const dictionary *d, int n)
获取dictionary对象的第n个section的名字(不能释放或修改返回的字符串!)
INIPARSER_API int iniparser_getint(const dictionary *d, const char *key, int notfound)
获取与键相关联的字符串,转换为长int类型
INIPARSER_API void iniparser_unset(dictionary *ini, const char *entry)
删除dictionary中的一个条目(section:key)
INIPARSER_API dictionary * iniparser_load(const char *ininame)
解析ini文件并返回已分配内存的dictionary对象
INIPARSER_API int iniparser_find_entry(const dictionary *ini, const char *entry)
查找dictionary中是否存在一个给定的条目(section:key)
INIPARSER_API const char * iniparser_getstring(const dictionary *d, const char *key, const char *def)
获取与key相关联的字符串值
INIPARSER_API void iniparser_dumpsection_ini(const dictionary *d, const char *s, FILE *f)
将dictionary的section保存到可加载的ini文件中
INIPARSER_API double iniparser_getdouble(const dictionary *d, const char *key, double notfound)
获取与键相关联的字符串,转换为double类型
INIPARSER_API int iniparser_getsecnkeys(const dictionary *d, const char *s)
获取dictionary对象某个section下的key个数
INIPARSER_API int iniparser_getboolean(const dictionary *d, const char *key, int notfound)
获取与键相关联的字符串,然后转换为boolean类型
INIPARSER_API void iniparser_dump(const dictionary *d, FILE *f)
将字典转储到已打开的文件指针中
dictionary对象结构体
Definition: dictionary.h:46
INIPARSER_API void iniparser_freedict(dictionary *d)
释放与ini dictionary相关联的所有内存
INIPARSER_API void iniparser_dump_ini(const dictionary *d, FILE *f)
将dictionary保存到可加载的ini文件中
#define INIPARSER_API
Definition: iniparser.h:36
Implements a dictionary for string variables.