kommandokonsolenargumente übergeben
-
hallo, ich bekomme einen fehler, dass ich inkompatible typen habe... wie bekomme ich folgendes programm zum laufen?
#include <iostream> using namespace std; int main (int argc, char *argv[]) { char test[10]; test = argv[1]; cout << argv[1]; }
-
Was soll das denn tun?
Hier ist etwas syntaktisch korrektes, aber ob das macht was du willst, kann ich nur raten:
#include <iostream> using namespace std; int main (int argc, char *argv[]) { char *test; test = argv[1]; cout << argv[1]; }
-
hey, danke kann ich mit *test im folgenden wie mit test[10] umgehen, sprich auf das element test[bla] zugreifen?
danke für die hilfe!
-
sudo rm -rf schrieb:
hey, danke kann ich mit *test im folgenden wie mit test[10] umgehen, sprich auf das element test[bla] zugreifen?
danke für die hilfe!Jain. Du kannst darauf mit der Arrayschreibweise test[bla] zugreifen, aber test ist kein char[10] (warum eigentlich 10?).
-
SeppJ schrieb:
(warum eigentlich 10?).
Wahrscheinlich, weil das alle
Fälle abdecken soll. Wieso mit argchantieren, wenn 10 auch funktioniert?
-
Nexus schrieb:
SeppJ schrieb:
(warum eigentlich 10?).
Wahrscheinlich, weil das alle
Fälle abdecken soll. Wieso mit argchantieren, wenn 10 auch funktioniert?
argc hilft hier auch nicht weiter. Das
testzeigt hier auf einen der Kommandozeilenparameter und nicht auf das Array mit den Zeigern auf die Kommandozeilenparameter (welches die Länge argc hat). Die Kommandozeilenparameter sind jedoch nullterminierte Strings unbekannter Länge (bevor man nachzählt).