ConfigFile.cpp
资源名称:p2p_vod.rar [点击查看]
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:2k
源码类别:
P2P编程
开发平台:
Visual C++
- /*
- * Openmysee
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
- #include "StdAfx.h"
- #include "ConfigFile.h"
- #pragma warning(disable: 4786)
- ConfigFile::ConfigFile(string const& configFile) {
- ifstream file(configFile.c_str());
- string line;
- string name;
- string value;
- string inSection;
- int posEqual;
- while (getline(file,line)) {
- if ( !line.length()) continue;
- if ( line[0] == '#') continue;
- if ( line[0] == ';') continue;
- if ( line[0] == '[') {
- inSection=line.substr(1,line.find(']')-1);
- continue;
- }
- posEqual=line.find('=');
- name = line.substr(0,posEqual);
- value = line.substr(posEqual+1);
- int index = value.find('r');
- if(index != -1)
- value = value.substr(0, index);
- index = value.find('n');
- if(index != -1)
- value = value.substr(0, index);
- content_[inSection + '/' + name]=value;
- }
- fileNotFound = (content_.size() == 0);
- }
- string ConfigFile::Value(string const& section, string const& entry) {
- stringNotFound = false;
- map<string,string>::const_iterator ci = content_.find(section + '/' + entry);
- if (ci == content_.end()) {
- stringNotFound = true;
- return ""; // does not exist
- }
- return ci->second;
- }