Example program to test file name handling using Jeep/JeepToolkit.hh.
More...
#include <iostream>
#include <iomanip>
#include <string>
#include "Jeep/JeepToolkit.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
Go to the source code of this file.
|
int | main (int argc, char **argv) |
|
Example program to test file name handling using Jeep/JeepToolkit.hh.
- Author
- mdejong
Definition in file Jeep.cc.
◆ main()
int main |
( |
int | argc, |
|
|
char ** | argv ) |
Definition at line 16 of file Jeep.cc.
17{
20
21 string file_name;
24
25 try {
26
27 JParser<> zap(
"Example program to test file name handling.");
28
29 zap[
'f'] =
make_field(file_name,
"input file name") =
"";
31
32 args = zap(argc, argv);
33 }
34 catch(const exception &error) {
35 FATAL(error.what() << endl);
36 }
37
38 cout << "file name " << getFilename(argv[0]) << endl;
39 cout <<
"path " <<
getPath(argv[0]) << endl;
40 cout <<
"file name " << getFilename(
getPath(argv[0]), getFilename(argv[0])) << endl;
41
42 if (file_name != "") {
43
44 cout << "file name " << file_name << endl;
45 cout <<
"path " <<
getPath(file_name) << endl;
46 cout << "extension " << getFilenameExtension(file_name) << endl;
47 cout <<
"protocol " <<
getProtocol(file_name) << endl;
48 }
49
51 cout << "Pending arguments" << endl;
53 }
54}
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Data structure to store command line arguments.
Utility class to parse command line options.
std::string getPath(const std::string &file_name)
Get path, i.e. part before last JEEP::PATHNAME_SEPARATOR if any.
std::string getProtocol(const std::string &file_name)
Get protocol, i.e. part before first JEEP::PROTOCOL_SEPARATOR if any.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).