解析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; }
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
![阿里打赏](https://files.cnblogs.com/files/itdef/ali2.bmp)
![微信打赏](https://files.cnblogs.com/files/itdef/weixin2.bmp)