Funktionsparameter in char[x] kopieren...
-
Hallo!
int main ( int argc, char *argv[])
.....Ich benutze für mein Konsolenanwendungen o.g. Code für Parameter und kopiere sie in strings um sie einzulesen bzw zu verarbeiten. Nun möchte ich bestimmte Parameter in ein char array kopieren um die Zeichen/Zahlen-ansammlung besser verarbeiten zu können. char Xchar[MAX] = argv[zahl] geht leider nicht. Zeiger waren noch nie meine Freunde... kann mir da bitte jemand einen Rat geben?

-
strcpy(ziel,argv[i]);MfG SideWinder
-
Das geht ja einfach!
Danke für die schnelle Antwort!
-
SideWinder schrieb:
strcpy(ziel,argv[i]);MfG SideWinder
Benutze besser strncpy oder wenn Da nicht nehmen willst, dann so:
char *ziel; ziel = (char *) calloc (sizeof (char), strlen (argv[i]) + 1); //Check dass ziel wirklich allociert wurde //Achtung crashed wenn argv[i] auf NULL pointed! strcpy(ziel,argv[i]);
-
Was macht den calloc hier?
// C++ char* ziel = new char[strlen(argv[i])+1]; strcpy(ziel,argv[1]); ... delete[] ziel; // Noch viel besser string ziel = argv[i]; ...MfG SideWinder
-
Ich glaube er will alle Elemente drin ahebn oder?
int main (int argc, char *argv[]) { std::string parameter; for(int i=1; i<argc; ++i) { parameter += argv[i]; } }
-
Pigeon schrieb:
Das geht ja einfach!
So lange du strcpy nicht ohne nachzudenken selbst schreiben könntest, solltest du es aber auch lieber nicht verwenden - sonst gehts nämlich ins Auge
