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 に答える