用C简单读取配置文件

读取配置文件是很常见的,现在想弄一个用C简单读取配置文件的一个程序,下面是代码:

#include<stdio.h>

#include<iostream>

#include<string.h>

#include<fstream>

using namespace std;

#define LENG 1000

void fileRead(char * fname) {

    char key[LENG], value[LENG];

    int i = 0, j=0;

    int len;

    FILE *fp;

    char buf[LENG];

    fp = fopen(fname, "r");

    if (fp == NULL) {

        cout << "fail to read!" << endl;

        exit(1);

    }

    while (fgets(buf,LENG , fp) != NULL) {

        len = strlen(buf);

        int value_length=0;

        int key_length=0;

        int j1 = 0, i2 = 0, j2 = 0;

        i=0;

        while (buf[i] != '=') {                                    //等号定位

            i++;

        }

        for (j = 0; j < i; j++) {                              //关键字读取

            key[j1] = buf[j];

            j1++;

            key_length=j1;

        }

        for (j = i+1; j < len; j++) {                    //等号右边的 值读取

            value[j2] = buf[j];

            j2++;

            value_length=j2;

        }

        for (j = 0; j < key_length; j++)

            cout << key[j];

        for (j = 0; j < value_length; j++)

            cout << value[j];

    }

    fclose (fp);

}

int main() {

    char * filename = "1.txt";

    cout << endl;

    fileRead(filename);

    return 0;

}


配置文件格式如下:

SHCONFIG            = /home/wenbh/SuperCall/ShConfig.ini

DBSERVER            = 192.168.2.2

DBACCOUNT            = postgres

DBPASSWORD        = 123456  

MONITORPORT        = 23

MEETINGREMIND    = MeetingRemind.wav

读这个文件时,把等号去除掉如下:

SHCONFIG                      /home/wenbh/SuperCall/ShConfig.ini

DBSERVER                      192.168.2.2

DBACCOUNT                      postgres

DBPASSWORD                  123456  

MONITORPORT                    23

MEETINGREMIND                  MeetingRemind.wav

运行代码,如图:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容