Strings als Kommandozeilenparameter
-
Hätte da mal eine Frage zu Strings als Kommandozeilenparameter.
Folgendes gebe ich in der Komandozeile ein:berechnung.exe 20.12.1982
Den Parameter den ich da Übergebe, ist ja ein Pointer of char.
Habe das folgendermaßen geschreiben:
char* s = argv[1];
wie kann ich jetzt die einzelnen Zahlen: die 20 die 12 und die 1982 in eine Integervariable speichern?
Komme da nicht weiter.
Wäre nett wenn mir da einer helfen könnte.Gruß CPT-BARBIE
-
In den FAQ findest Du alles, was Du brauchst.
-
Due hast das als C-String, also als char, und kannst das dann mit memcpy kopieren, musst nur die entsprechende Stelle herausfinden, wo die Punkte stehen. Guck dir dazu dann noch ma diese Seite an:
http://cplusplus.com/ref/cstring/
-
viande schrieb:
Due hast das als C-String, also als char, und kannst das dann mit memcpy kopieren, musst nur die entsprechende Stelle herausfinden, wo die Punkte stehen. Guck dir dazu dann noch ma diese Seite an:
http://cplusplus.com/ref/cstring/So kann er sie aber nicht in einen Integer speichern, da ein Integer 4 Byte
interpretiert.Schau dir mal std::stringstream an.
mfg
v R
-
HAb mir die FAQ's schon vorher angesehn und werde daraus nicht so ganz schlau.
Ich hab doch nur ein en Pointer of char, wenn ich das richtig verstehe.Wenn ich das z.B so schreiben würde:
char* s = argv[1];
char s1 = s[0];
char s2 = s[1];kann ich diese strings dann nicht zusammenfügen bzw. aneinaderketten
und dann in int umwandeln?
So z.B:int i = int(aneinadergeketteter string)?
Gruß CPT-BARBIE
-
Wenn ich es so mache, bekomme ich nur den ersten WErt, also von 20.12.1982 nur die 20 in eine integervariable gespeichert:
char* s = argv[1];
int d = atoi(s);
cout << d << endl;Wie komme ich jetzt noch an die 12 und die 1982 ran?
Gruß CPT-BARBIE
-
-
Sorry für meine Dummheit, aber das hab ich mir schon xMal durchgelesen.
Könnte ich nicht einen Tip bekommen?
Bekomme bei meistens allem was ich versuche, eine Fehlermeldung dass die konvertierung von char nach char* fehlschlägt.Den String den ich vorliegen habe, hab ich ja nur als Pointer of char.
-
Habs hinbekommen.