c/c++: 读取配置文件(文本)内容的简单实现

来源:互联网 发布:ide java vim 编辑:程序博客网 时间:2024/04/30 09:54

引:读取配置文件是很常见的,尤其在后台服务器(linux、unix上)跑程序为了扩展性,都常用配置文件作为程序的输入来完成不同的工作内容。本文提供了简单的实现方法:

话不多说,看函数:

/* *parameter: cfgfilepath 文件的绝对路径名如: /user/home/my.cfg *           key         文本中的变量名 *           value       对应变量的值,用于保存 * */#include <iostream>#include <string>#include <fstream>static bool readConfigFile(const char * cfgfilepath, const string & key, string & value){    fstream cfgFile;    cfgFile.open(cfgfilepath);//打开文件    if( ! cfgFile.is_open())    {        cout<<"can not open cfg file!"<<endl;        return false;    }    char tmp[1000];    while(!cfgFile.eof())//循环读取每一行    {        cfgFile.getline(tmp,1000);//每行读取前1000个字符,1000个应该足够了        string line(tmp);        size_t pos = line.find('=');//找到每行的“=”号位置,之前是key之后是value        if(pos==string::npos) return false;        string tmpKey = line.substr(0,pos);//取=号之前        if(key==tmpKey)        {            value = line.substr(pos+1);//取=号之后            return true;        }    }    return false;}

这里要提的是,文本文件的变量内容应该是如下格式的

id=20

name=bob

address=beijing
 

原创粉丝点击