Hatte vor kurzem auf der Arbeit das Problem dass ich in einem Programm Kommandozeilenparameter einlesen musste - allerdings hatte ich keine lust auf das übliche if (!strcmp(argv, argz[d])) { printf("falsche option xyz"); } ...
Deswegen hab ich mich mal ein bisschen umgesehen und die nette getopt() funktion gefunden - allerdings nur auf Unix. Deswegen habe ich einen kleinen Artikel geschrieben wie man sich das ding auch auf Windows holt:
http://tutorial.proggen.org/doku.php?id ... pt-windows
Dazugepackt habe ich noch eine kleine Klasse, die einem die Argumentverwaltung ganz abnimmt. So einfach kann argumentverwaltung sein:
Code: Alles auswählen
#include <iostream>
#include "program_options.h"
int main(int argc, char* argv[])
{
ProgramOptions op(argc, argv);
if (!op)
{
std::cerr<<"Invalid usage!\n";
return 1;
}
std::cout<<"We are treating the file \""<<op.filename<<"\"\n";
std::cout<<"A is on: "<<op.a_flag<<'\n';
std::cout<<"Some option is \""<<op.some_option<<"\"\n";
std::cout<<"Another option is \""<<op.another_option<<"\"\n";
return 0;
}
mfg, fat-lobyte