c++/parameter-lister/CLI.cpp
author František Kučera <franta-hg@frantovo.cz>
Sun, 03 May 2015 17:05:51 +0200
changeset 4 a4c3f27b6be7
parent 3 a6b5eb87350b
child 5 1581a99ab33f
permissions -rw-r--r--
print argument lenght (bytes)
franta-hg@0
     1
#include <cstdlib>
franta-hg@1
     2
#include <iostream>
franta-hg@3
     3
#include <vector>
franta-hg@3
     4
#include <algorithm>
franta-hg@3
     5
franta-hg@1
     6
#include "info/globalcode/terminalCodes/TerminalCodes.h"
franta-hg@0
     7
franta-hg@0
     8
using namespace std;
franta-hg@3
     9
using namespace info::globalcode::parameterLister;
franta-hg@0
    10
franta-hg@3
    11
int main(int argc, char* argv[]) {
franta-hg@1
    12
	terminalCodes::Modifier fgGreen(terminalCodes::FG_GREEN);
franta-hg@1
    13
	terminalCodes::Modifier fgReset(terminalCodes::FG_DEFAULT);
franta-hg@4
    14
franta-hg@3
    15
	cout << "INFO: " << fgGreen << "Parameter lister" << fgReset << " is starting" << endl;
franta-hg@1
    16
franta-hg@3
    17
	string command = argv[0];
franta-hg@3
    18
	vector<string> args;
franta-hg@3
    19
franta-hg@3
    20
	for (int i = 1; i < argc; i++) {
franta-hg@3
    21
		args.push_back(argv[i]);
franta-hg@3
    22
	}
franta-hg@3
    23
franta-hg@3
    24
	for_each(args.begin(), args.end(), [command, fgGreen, fgReset](string s) {
franta-hg@3
    25
		cout << fgGreen << command << fgReset << ": " << s << endl;
franta-hg@3
    26
	});
franta-hg@3
    27
franta-hg@3
    28
franta-hg@4
    29
	for (int i = 0; i < args.size(); i++) {
franta-hg@4
    30
		string s = args[i];
franta-hg@4
    31
		cout << i + 1 << ":" << s.length() << " = \"" << s << "\"" << endl;
franta-hg@4
    32
	}
franta-hg@4
    33
franta-hg@4
    34
franta-hg@3
    35
franta-hg@1
    36
franta-hg@0
    37
	return 0;
franta-hg@0
    38
}
franta-hg@0
    39
franta-hg@3
    40
franta-hg@3
    41
franta-hg@3
    42
namespace info {
franta-hg@3
    43
namespace globalcode {
franta-hg@3
    44
namespace parameterLister {
franta-hg@3
    45
franta-hg@3
    46
franta-hg@3
    47
franta-hg@3
    48
franta-hg@3
    49
franta-hg@3
    50
}
franta-hg@3
    51
}
franta-hg@3
    52
}
franta-hg@3
    53
franta-hg@3
    54