Fragen zu argv und argc
-
ja ich hab nen tool, was ne .ini datei bearbeitet und die änderung in einer separaten datei abspeichert.
und die beiden dateien wollte ich als parameter übergeben und halt mit argc[] im code entsprechend benutzen.
-
Dann mach das doch einfach. Prüfe aber ob dann "argc == 3" ist und ob die Dateinamen in Ordnung sind ( ein der beiden Dateien muss ja existieren ). Die zweite Datei darf vielleicht garnicht existieren.
-
oh-jonney schrieb:
kann ich auch dateien als parameter übergeben?
programm.exe config.ini kopie.iniOb das Dateien sind oder Peng: egal. argv[1] ist eben nur ein C-String und in diesem Fall einer, der der Name einer Datei sein könnte. Du kannst natürlich versuchen, die Datei in Deinem Programm zu öffnen.

-
Sebastian Pizer schrieb:
oh-jonney schrieb:
kann ich auch dateien als parameter übergeben?
programm.exe config.ini kopie.iniOb das Dateien sind oder Peng: egal. argv[1] ist eben nur ein C-String und in diesem Fall einer, der der Name einer Datei sein könnte. Du kannst natürlich versuchen, die Datei in Deinem Programm zu öffnen.

Wie mach ich am besten eine Prüfung, dass mein Programmcode nur ausführen soll, wenn er auch ein Parameter (sprich argv[1]) hat.???
-
oh-jonney schrieb:
Wie mach ich am besten eine Prüfung, dass mein Programmcode nur ausführen soll, wenn er auch ein Parameter (sprich argv[1]) hat.???
Was war argc gleich nochmal...?
-
oh-jonney schrieb:
Sebastian Pizer schrieb:
oh-jonney schrieb:
kann ich auch dateien als parameter übergeben?
programm.exe config.ini kopie.iniOb das Dateien sind oder Peng: egal. argv[1] ist eben nur ein C-String und in diesem Fall einer, der der Name einer Datei sein könnte. Du kannst natürlich versuchen, die Datei in Deinem Programm zu öffnen.

Wie mach ich am besten eine Prüfung, dass mein Programmcode nur ausführen soll, wenn er auch ein Parameter (sprich argv[1]) hat.???
int main(int argc, char *argv[]) { if(argc != 1) { // Oder < 1? std::cerr << "Parameter fehlt!" << std::endl return 1; } // Hier der eigentliche Job return 0; }Stefan.
-
Stefan fehlt nicht dein else?
Weil wenn er in der If drinne ist und fertig ist, geht er doch wieder raus und macht weiter ?!
-
jonnyyy schrieb:
Stefan fehlt nicht dein else?
Weil wenn er in der If drinne ist und fertig ist, geht er doch wieder raus und macht weiter ?!Also ich will, wenn er in die if reingeht, dass er alles andere abbricht bzw. erst gar nicht anfängt...sprich wenn er in der if ist, soll er das programm beenden
-
Hol Dir ein schlaues Buch zum Lernen von C++. Kannst darin auch nachgucken, was
returnmacht.
-
return beendet die aktuelle Funktion, in dem Fall ist das die main(...). D.h. das return beendet in dem Fall das komplette Programm.