首页 > 代码库 > 解析config文件 练手代码
解析config文件 练手代码
解析一个如下的CONFIG文件
#config.txt#SHTTPD Web 服务器配置文件示例#侦听端口ListenPort = 80#最大并发访问客户端数目MaxClient = 8#Web网页根目录DocumentRoot = /home/www/#CGI根目录CGIRoot = /home/www/cgi-bin/#默认访问文件名DefaultFile = index.html#客户端空闲链接超时时间TimeOut = 5
代码
#include <fstream>#include <string>#include <map>#include <iostream>#include <vector>#include <algorithm>#include <functional>#include <cctype>#include <locale>class GetConfigInfo {public: bool ReadFile(std::string fileName);private: std::map<std::string, std::string> configMap; std::fstream fin_;};bool GetConfigInfo::ReadFile(std::string fileName) { fin_.open(fileName); if (fin_.bad()) return false; std::string readLine; while (getline(fin_, readLine)) //逐行读取,直到结束 { size_t i = readLine.find("#"); if (i != std::string::npos) continue; i = readLine.find_first_of(" \t"); while (i != std::string::npos) { readLine.erase(i,1); i = readLine.find_first_of(" \t"); } std::cout << readLine << std::endl; i = readLine.find("="); if (i == std::string::npos) continue; std::string s1 = readLine.substr(0,i); std::string s2 = readLine.substr(i + 1, std::string::npos); configMap.insert(std::pair<std::string, std::string>(s1, s2)); } fin_.close(); return true;}int main(){ GetConfigInfo gci; gci.ReadFile("config.txt"); return 0;}
解析config文件 练手代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。