I know that there's no shortage of libraries out there for parsing INI files, but I just wanted one that could read in all of the (section, key, value) entries when my program starts and write them out before my program quits, so I thought that I'd write my own. Now I'm sharing it with everybody under version 3 of the GNU LGPL.

I'm not sure how you got here, or if you know what an INI file is. If you don't know about INI files, you should read Wikipedia's article on INI files.

Information on downloading the source code for all of my INI paser and creator implementations may be found here.

The rest of this page discusses the results of my efforts so far.

EZIni Implementation

Unfortunately (or fortunately), there is no standard INI file format, so I supported the format variations that felt right (or were easy). here's what I came up with:


Doxygen generated documentation of the EZIni Library may be found in my repository's docs directory.


An example of how to use GetEntryFromFile() and MakeINIFile() may be found in sample.c included in the zip file containing the EZIni Library.


All the source code that I have provided is written in strict ANSI C. I would expect it to build correctly on any machine with an ANSI C compiler, supporting it's file abstractions. I have tested the code compiled with gcc on X86_64 Linux machine.

Actual Software

I am releasing my implementation of the EZIni library under the LGPL. The source code repository is available on GitHub. I recommend that you checkout the latest revision of the master branch, unless you're looking for something specific.

Repository Location https://github.com/michaeldipperstein/ezini

If you have any further questions or comments, you may contact me by e-mail. My e-mail address is: mdipperstein@gmail.com


Last updated on December 25, 2018