Linux - config files

 
Vista:

config files

Publicado por Emilio (4 intervenciones) el 01/07/2001 09:42:58
Hay alguna interface en C para linux para crear config files que actuen como el registry de windows.
Lo que necesito es guardar algunos valores generales para varios programas o procesos independientes el uno del otro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Biblioteca C para configuración: libconfig

Publicado por Alejandro (176 intervenciones) el 05/12/2023 20:28:01
Sí, Emilio, en Linux puedes utilizar archivos de configuración para almacenar valores generales de varios programas o procesos. A diferencia del registro de Windows, en Linux, los archivos de configuración suelen estar en formato de texto y se encuentran en ubicaciones específicas del sistema.

Para crear y gestionar archivos de configuración en C, puedes utilizar una biblioteca como libconfig. Libconfig es una biblioteca de configuración simple que permite leer y escribir archivos de configuración en un formato fácil de entender.

Aquí hay un ejemplo básico de cómo puedes usar libconfig en C para trabajar con archivos de configuración:

1. Instalar libconfig:
Asegúrate de tener libconfig instalado. Puedes instalarlo utilizando el administrador de paquetes de tu distribución. Por ejemplo, en sistemas basados en Debian, puedes ejecutar `sudo apt-get install libconfig-dev`.

2. Ejemplo de código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <libconfig.h>
 
int main() {
    // Crear un objeto de configuración
    config_t cfg;
    config_init(&cfg);
 
    // Abrir el archivo de configuración para lectura
    if (!config_read_file(&cfg, "config.cfg")) {
        fprintf(stderr, "Error al leer el archivo de configuración: %s\n", config_error_text(&cfg));
        config_destroy(&cfg);
        return 1;
    }
 
    // Obtener valores del archivo de configuración
    const char *valor1;
    int valor2;
 
    if (config_lookup_string(&cfg, "clave1", &valor1) &&
        config_lookup_int(&cfg, "clave2", &valor2)) {
        printf("Valor1: %s\n", valor1);
        printf("Valor2: %d\n", valor2);
    } else {
        fprintf(stderr, "Error al obtener valores del archivo de configuración.\n");
    }
 
    // Cerrar el objeto de configuración
    config_destroy(&cfg);
 
    return 0;
}

3. Archivo de configuración (config.cfg):
1
2
clave1 = "valor_del_primero";
clave2 = 42;

Este es un ejemplo básico, y puedes personalizarlo según tus necesidades. Los archivos de configuración pueden ubicarse en rutas específicas del sistema, como `/etc/` o en el directorio del usuario. La elección dependerá de los requisitos y estándares de tu aplicación.

Recuerda que cada programa o proceso puede tener su propio archivo de configuración, y libconfig facilita la lectura y escritura de estos archivos en formato de texto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar