0

我有以下 Config.cfg

[DD]
user=**
password=***
database=***
IPServidor=****
port=***

[Controller]
Control1=8
Temp=5
Hum=7
Link=8
Volt=9

[Controller]
Control2=10
Temp=5
Hum=7
Link=8
Volt=9

我只想读取控制器的值并将它们打印到屏幕上

Controller_8: 5,7,8,9

我不想使用 libconfig 或 glib,因为我有未定义函数的问题。我做了安装,我有标题,但我不知道为什么它不起作用。所以我想要另一个解决方案。我的第一个想法是使用 strchr 来查找我想要的行(在我的情况下忽略 [DD] 表)并使用 strtok 来仅获取 temp、hum、link、volt 的值

 char buffer1[100];
 FILE *f = fopen("/home/pi/Desktop/Config.cfg","r");
 while(fgets(buffer1, sizeof(buffer1), f))
{
    printf("%s",buffer1);
    char *pos1 = strchr(buffer1,'Controller');
    if (pos1)
    {

    item = strtok (buffer1,"Control");
    printf("Results: %s\n", buffer1);
    }
}

上面的代码不正确。只是一个念头。有没有更好的办法?

4

1 回答 1

0

不要尝试解析 ini 文件,使用一些现有的库。

Ini 文件解析包含在许多“框架”中,例如在Gtk+Windows中。如果你不能访问这些,你仍然可以使用一些独立的库,例如: http: //ndevilla.free.fr/iniparser/

于 2013-07-02T07:49:51.880 回答