引:读取配置文件是很常见的,尤其在后台服务器(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之后是valueif(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
也许叔本华是对的,人与人的距离太远会寂寞到寒冷,