main Argumente
-
Hi,
ich möchte Argumente benutztint main(int argc, char *argv[])
um Pfade von Dateien zu bekommen.
Wenn der Dateipfad aber etwas länger ist, wie "C:\Dokumente und Einstellungen\Administrator\Desktop", dann bekomme ich weniger als die Hälfte des Strings.
Wenn der Pfad aber kurz ist, wie z.B.: "C:\" dann klappt alles..
Aber was kann ich dagegen machen, dass ich nicht nur die ersten 10(oder mehr) Zeichen bekomme?
-
mainn schrieb:
Hi,
ich möchte Argumente benutztint main(int argc, char *argv[])
um Pfade von Dateien zu bekommen.
Wenn der Dateipfad aber etwas länger ist, wie "C:\Dokumente und Einstellungen\Administrator\Desktop", dann bekomme ich weniger als die Hälfte des Strings.
Wenn der Pfad aber kurz ist, wie z.B.: "C:\" dann klappt alles..
Aber was kann ich dagegen machen, dass ich nicht nur die ersten 10(oder mehr) Zeichen bekomme?
DAs liegt an den leerzeichen. wenn du C:\Dokumente und Einstellungen\Administrator\Desktop übergibst , dann dürfte argv[1] so aussehen:
"C:\Dokumente", in argv[2] steht dann "und" etc.Starte dein Programm mal so: programm "C:\Dokumente und Einstellungen\Administrator\Desktop"
Aslo mit ""
-
C: ist kein Pfad, sondern ein Laufwerk. C:\ waere der Pfad.
-
Aber ich habe es verknüpft..
Also wenn ich eine txt Datei öffne, wird diese direkt mit dem Programm geöffnet..
Wo kann ich denn da die " einfügen?
-
mainn schrieb:
Aber ich habe es verknüpft..
Also wenn ich eine txt Datei öffne, wird diese direkt mit dem Programm geöffnet..
Wo kann ich denn da die " einfügen?Hmm? ich kapier net was du meinst.
Ich meine: starte dein prog so:
programmname "pfad"
und nicht
programmname pfad
-
Wenn du eine Textdatei öffnest, wird sie ja standardgemäß mit dem Editor geöffnet.
Und so habe ich das auch bei meinem Programm...
-
mainn schrieb:
Wenn du eine Textdatei öffnest, wird sie ja standardgemäß mit dem Editor geöffnet.
Und so habe ich das auch bei meinem Programm...Und wo ist nun das problem?
-
Dass das mit den Argumenten (der Pfad) nicht funktioniert
-
ich denke auch dass das Leerzeichn möglicherweise Schuld sein könnte.
Ich kann dir nur empfehlen, mal mit einem Debugger drüber zu steppen bzw. alle Elemente ausgeben zu lassen:
- stimmt der argc-Wert wirklich?
- Ausgabe der argv-StringsKommt jetzt darauf an, wie du dein Programm startest.
Wahrscheinlich wird die Datei, mit welcher du dein Programm öffnest als 2. Parameter --> [1] mitgegeben. Der [0]. Parameter ist meistens die exe-Datei selbst. Kann aber auch anders sein! Deshalb probieren geht über studierenmfg (c)h