Você fazia ideia dessa possibilidade? pois é, por um tempo eu também não fazia ideia, mas por a caso vasculhando pela web acabei encontrando essa biblioteca C que é extremamente fácil e simples de usar.
O que são arquivos TOML?
Com o acrônimo de “Tom’s Obvious, Minimal Language” (do inglês: “Linguagem Mínima Óbvia do Tom”) os arquivos TOML são arquivos de configuração criados com o intuito de serem mais fáceis para a leitura humana, usando uma sintaxe extremamente simples e legível.
# Trecho de código TOML retirado da Wikipédia.
title = "Exemplo TOML"
[owner]
name = "Tom Preston-Werner"
# Datas são um tipo nativo
dob = 1979-05-27T07:32:00-08:00
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
# Indentação é permitida mas não obrigatória
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
# Quebras de linha são
# permitidas dentro de arrays
hosts = [
"alpha",
"omega"
]
A Biblioteca tomlc99
A biblioteca tomlc99 é uma biblioteca de parsing de arquivos TOML escrita em C. O código fonte para uso livre e aberto está disponível no Github por este link aqui: tomlc99.
Instalação
Você precisará de Git e make para a instalação.
$~ git clone https://github.com/cktan/tomlc99.git
$~ cd tomlc99/
$~ make install
Alternativamente você também pode fazer o make install assim:
$~ make install prefix=/a/file/path
Isso instalará dentro de um caminho de inclusão de biblioteca pra você poder usar dentro dos seus arquivos C da seguinte maneira:
#include <toml.h>
int main(int argc, char **argv) {
printf("Texto Exemplo\n");
return 0;
}
Alternativamente você também pode só adicionar os arquivos toml.h e toml.c nos diretórios do projeto em que você estiver trabalhando. Eu particularmente prefiro fazer assim.
No geral isso é tudo, para mais informações de utilização das funções da biblioteca leia o arquivo toml_sample.c ou leia a documentação.