用C簡單讀取配置文件

讀取配置文件是很常見的,現(xiàn)在想弄一個用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++) {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //關(guān)鍵字讀取

????????????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

運(yùn)行代碼,如圖:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容