char zu string wandeln
-
Hallo leider klappt die umwandlung von char in string nicht
woran könnte das liegen, oder gibt es eine einfachere lösung
mfg witec#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main(int argc, char *argv[]) { string str_argv(argv); cout << str_argv << endl; system("PAUSE"); return 0; }
-
argv ist kein char
-
weis ich ja ich wollte ihn ja auch umwandeln
-
argv ist ein Array von chars.
Du müsstest also sowas schreiben:str_argv(argv[0]); // Das erste Argument wird in einen String umgewandelt
Ach ja: Du musst davor sicherstellen, dass argc (also die Anzahl der Argumente) grösser als 0 ist, weil du sonst nen Speicherfehler auslösen kannst.
-
argv[0] ist Programmname
argv[1] bis argv[argc-1] sonstige Parameter
!!caution: do not use: system("PAUSE")!!
-
system("PAUSE");
wird dass jetzt modern ??? wo lernt man sowas .. schon dass xte mal in wenigen tagen
-
wozu soll das system("PAUSE"); denn überhaupt dienen ?
-
explanation schrieb:
argv[0] ist Programmname
argv[1] bis argv[argc-1] sonstige ParameterUuups...
-
godlikebot schrieb:
explanation schrieb:
argv[0] ist Programmname
argv[1] bis argv[argc-1] sonstige ParameterUuups...
-
godlikebot schrieb:
argv ist ein Array von chars.
argv ist ein Array von C-Strings, also ein Array von Arrays von chars.
Ach ja: Du musst davor sicherstellen, dass argc (also die Anzahl der Argumente) grösser als 0 ist
Das ist *immer* der Fall.
-
wozu soll das system("PAUSE"); denn überhaupt dienen ?
naja unter windows wartet es auf eine eingabe so wie getchar(); .....
nur sollte man system(); vermeiden
siehe FAQ
-
wußte nur, daß man es nicht benutzen soll, da es BS abhängig ist und wundere mich jetzt da ich seine Funktion kenne, daß es überhaupt jemand benutzt.
-
Zitat:
Ach ja: Du musst davor sicherstellen, dass argc (also die Anzahl der Argumente) grösser als 0 istDas ist *immer* der Fall.
stimmt
denke sollte gesagt sein dass wenn manfunction(argv[x]);
benutzt dass man immer überprüfen sollte dass es auch "x argumente" gibt.
wußte nur, daß man es nicht benutzen soll, da es BS abhängig ist und wundere mich jetzt da ich seine Funktion kenne, daß es überhaupt jemand benutzt.
wundert sich hier doch jeder oder
-
freshman schrieb:
godlikebot schrieb:
explanation schrieb:
argv[0] ist Programmname
argv[1] bis argv[argc-1] sonstige ParameterUuups...
Ich wusste nicht, dass im Array Index 0 der Programmname steht. Deswegeb muss man ja nicht mehr testen, ob argc > 0 ist. Also, dass was HumeSikkins schon geschrieben hat.
-
truebool schrieb:
wo lernt man sowas ..
Dev-C++ hat das im Standard-Hello-World-Projekt und ist bei Einsteigern scheinbar sehr beliebt.
-
truebool schrieb:
system("PAUSE");
wird dass jetzt modern ??? wo lernt man sowas .. schon dass xte mal in wenigen tagen
Bloodshed's Dev-Cpp hat das in seiner Template Datei daher kommt es ueberall vor.
-
argv ist ein Array von C-Strings, also ein Array von Arrays von chars.
ist es nich eigentlich ein array von zeigern auf zeiger?
-
Hallo,
da^devil schrieb:
ist es nich eigentlich ein array von zeigern auf zeiger?
nein.
MfG
-
Dev-C++ hat das im Standard-Hello-World-Projekt
so is bei mir dass standart hello world mit devc++
#include <iostream> using namespace std; int main (int argc, char *argv[]) { cout << "Hello World!" << endl; cout << "Press ENTER to continue..." << endl; cin.get(); return 0; }
deshalb wausste ich es nicht --> sorry
naja nu weiss ich ja wos herkommt -- wollts auch nit zu frech sein