关键词搜索

源码搜索 ×
×

tars源码分析之26

发布2022-07-17浏览1042次

详情内容

decode相关动作,这个简单:

  1. #include "util/tc_option.h"
  2. #include "util/tc_common.h"
  3. namespace tars
  4. {
  5. void TC_Option::decode(int argc, char *argv[])
  6. {
  7. _mParam.clear();
  8. vector<string> v;
  9. for(int i = 1; i < argc; i++)
  10. {
  11. v.push_back(argv[i]);
  12. }
  13. for(size_t i = 0; i < v.size(); i++)
  14. {
  15. if(v[i].length() > 2 && v[i].substr(0,2) == "--")
  16. {
  17. parse(v[i]);
  18. }
  19. else
  20. {
  21. _vSingle.push_back(v[i]);
  22. }
  23. }
  24. }
  25. void TC_Option::parse(const string &s)
  26. {
  27. string::size_type pos = s.find('=');
  28. if( pos != string::npos)
  29. {
  30. _mParam[s.substr(2, pos-2)] = s.substr(pos+1);
  31. }
  32. else
  33. {
  34. _mParam[s.substr(2, pos-2)] = "";
  35. }
  36. }
  37. string TC_Option::getValue(const string &sName)
  38. {
  39. if(_mParam.find(sName) != _mParam.end())
  40. {
  41. return _mParam[sName];
  42. }
  43. return "";
  44. }
  45. bool TC_Option::hasParam(const string &sName)
  46. {
  47. return _mParam.find(sName) != _mParam.end();
  48. }
  49. vector<string>& TC_Option::getSingle()
  50. {
  51. return _vSingle;
  52. }
  53. map<string, string>& TC_Option::getMulti()
  54. {
  55. return _mParam;
  56. }
  57. }

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载