⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 progvals.cpp

📁 希望我提供的代码对大家有帮助
💻 CPP
字号:
//: C20:ProgVals.cpp {O}

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

#include "ProgVals.h"

using namespace std;



ProgVals::ProgVals(

  std::string defaults[][2], int sz) {

  for(int i = 0; i < sz; i++)

    insert(make_pair(

      defaults[i][0], defaults[i][1]));

}



void ProgVals::parse(int argc, char* argv[],

  string usage, int offset) {

  // Parse and apply additional

  // command-line arguments:

  for(int i = offset; i < argc; i++) {

    string flag(argv[i]);

    int equal = flag.find('=');

    if(equal == string::npos) {

      cerr << "Command line error: " <<

        argv[i] << endl << usage << endl;

      continue; // Next argument

    }

    string name = flag.substr(0, equal);

    string value = flag.substr(equal + 1);

    if(find(name) == end()) {

      cerr << name << endl << usage << endl;

      continue; // Next argument

    }

    operator[](name) = value;

  }

}



void ProgVals::print(ostream& out) {

  out << "Program values:" << endl;

  for(iterator it = begin(); it != end(); it++)

    out << (*it).first << " = "

        << (*it).second << endl;

} ///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -