A cross-platform C++ library for reading and writing INI-style configuration files with a simple API.
SimpleIni is a cross-platform C++ library that provides a simple API for reading and writing INI-style configuration files. It solves the problem of managing application settings by offering a lightweight, portable solution that supports various file encodings and formats without complex dependencies.
C++ developers who need a reliable, easy-to-integrate library for handling configuration files in desktop, embedded, or cross-platform applications.
Developers choose SimpleIni for its header-only design, MIT license, and robust support for multiple platforms and encodings, making it a versatile and hassle-free alternative to rolling custom INI parsers.
Cross-platform C++ library providing a simple API to read and write INI-style configuration files
Tested on Windows from 95 to 11, CE, Linux, and macOS, ensuring consistent behavior across diverse environments without platform-specific quirks.
Supports ASCII, MBCS, and UTF-8 encodings with liberal acceptance of file formats, including non-ASCII characters and multi-line values, as highlighted in the feature summary.
Preserves comments and the original order of sections and keys when saving files, maintaining file structure and human readability, which is a key advertised feature.
As a header-only library, it requires no building or linking, simplifying integration into C++ projects with just an include directive, per the installation notes.
Only handles INI-style files, lacking native support for modern configuration formats like JSON or YAML, which may be necessary for complex or nested data structures.
Using non-default character converters, such as SI_CONVERT_GENERIC, requires manual inclusion of external files like ConvertUTF.*, adding integration complexity as noted in the README.
Focuses on file I/O without features for data type validation, schema definitions, or error checking, requiring additional code for robust configuration management.
Simple .INI file parser in C, good for embedded systems
Header-only TOML config file parser and serializer for C++17.
TOML for Modern C++
C/C++ Library for Processing Structured Configuration Files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.