Autor
|
Thema: argc *argv[] übergeben (1988 mal gelesen)
|
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 [URL=http://my.opera.com/bluesman2333/homes/files/daemon-smoke.jpg]http://my.opera.com/bluesman2333/homes/files/daemon-smoke.jpg[/URL]
|
erstellt am: 12. Apr. 2006 22:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, bin gerade etwas am verzweifeln .. .. Die Anforderung besagt, dass ein KonsolenProgramm geschrieben werden soll, bei der mehrere Argumente übergeben werden können. Im Prg soll auf dies und jenes geprüft und alles mögliche gemacht werden. Soweit so gut -> das Programm läuft und tut auch seinen Dienst 1a. Die Sache ist halt nur die, dass mir das Ganze Programm intern nicht gefällt. Es gibt halt ne Main nen paar Methoden und schön ist. Aber Cpp ist ja nicht umsonst Objektorientiert. Also möchte ich das gern noch machen, da ich mir sicher bin, dass dies Programm noch weiter ausgebaut werden soll. Deshalb möcht ich das gern umbauen. Der Startpunkt der Anwendung ist in
Code: int _tmain(int argc, _TCHAR* argv[])
Diese zwei Argumente möchte ich jetzt gern in einer separaten Klasse über 'GetOpt' auswerten bzw. 'argv' .Der Header für die Klasse :
Code: #ifndef _CARGV_H #define _CARGV_Hclass cArgV { private: int m_argc; _TCHAR ????????????; public: cArgV(int argc, ??????????); ~cArgV(); int cArgV::readArg(); }; #endif // _CARGV_H
die dazugehörige Cpp
Code: cArgV::cArgV(int argc, ?????????????) { m_argv = ???????????????; m_argc = argc; };cArgV::~cArgV() { }; int cArgV::readArg() { int c; while ((c = getopt(m_argc, m_argv, _T("hdr:e:s:l:i:"))) != EOF) { // Auswertung der Argumente } return 0; }
Die Header sind alle includiert - dass passt alles. Scheitere jämmerlich am Konstruktoraufruf und wie es in H und cpp geschrieben werden muss .... Die Funktion 'getopt' wird über einen Header eingebunden und erwartet an zweiter Stelle 'TCHAR *argv[]' ... Den Header und die Cpp für XGetopt findet ihr unter ... http://www.codeproject.com/cpp/xgetopt.asp . Würde mich sehr freuen, wenn sich das mal jemand anschauen könnte. Großes Danke und Viele Grüssle TP
------------------ "Soll es funktionieren oder darf es auch etwas von Siemens sein?" ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
Beiträge: 604 Registriert: 06.06.2002 [URL=http://my.opera.com/bluesman2333/homes/files/daemon-smoke.jpg]http://my.opera.com/bluesman2333/homes/files/daemon-smoke.jpg[/URL]
|
erstellt am: 18. Apr. 2006 16:17 <-- editieren / zitieren --> Unities abgeben:
Problem gelöst: Main
Code: int main(int argc, char *argv[]) { cArgV myArgV(argc, argv); }
Konstruktor (CPP)
Code: cArgV::cArgV(int argc, char **argv) { m_argc = argc; m_argv = argv; };
Header der Klasse
Code: private: int m_argc; char **m_argv; public: cArgV(int argc, char **argv);
Grüssle TP ------------------ "Soll es funktionieren oder darf es auch etwas von Siemens sein?" ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|