Helmpe Geschrieben 24. März 2005 Geschrieben 24. März 2005 Hallo, hab mal ne Frage. Kann man argv und einen Text zusammenfassen? Also wenn zum Beispiel argv[1] "Welt" ist. Kann ich dann eine Variable erstellen, die "Hallo Welt" heißt? z.B. char begruessung[50]; begruessung = "Hallo %s", argv[1]; oder sowas ähnliches?
PuppetMaster Geschrieben 24. März 2005 Geschrieben 24. März 2005 Wenn du mit char[] arbeitest, dann wäre strcat() das was du suchst.
Guybrush Threepwood Geschrieben 24. März 2005 Geschrieben 24. März 2005 wenn du mehrere Teile hast dann ist sprintf einfacher als strcat. Bsp: char str1[20], str2[] = "Welt"; sprintf (str1,"Hallo %s!", str2); [/PHP]
Helmpe Geschrieben 24. März 2005 Autor Geschrieben 24. März 2005 Ich habe das jetzt so geschrieben. include <stdio.h> int teil() { char string1[20]; sprintf(string1, "Hallo %s", argv[]); printf("%s", string1); return 0; } ////////////////////////////// ///////HAUPTPROGRAMM////////// ////////////////////////////// int main(int argc) { if(argc <= 1) { printf ("Sie haben keine Parameter angegeben"); } else { teil(); } return 0; } Es funktioiert aber nicht, weil ich argv[] nicht in meinem Programmteil "teil" deklarieren kann. Warum nicht? Wie kann ich argv in mehrere Programmteile schreiben? Oder kann ich argv an "teil" übergeben? Wenn ich alles in ein Programm schreibe, dann klappt es wunderbar. Danke schonmal im Voraus
MAJOR_TOM Geschrieben 24. März 2005 Geschrieben 24. März 2005 Hmm, du solltest deiner Funktion "Teil" natürlich auch argv als Argument mitgeben. Sie kann argv ja gar nicht kennen, da argv ein Parameter von main ist.
Manfred.Becker Geschrieben 24. März 2005 Geschrieben 24. März 2005 Hi, mal abgesehen davon, dass in der Funktion int teil() die Variable argv nicht übergeben wurde, und dann auch noch falsch eingesetzt ist... int teil() { char string1[20]; sprintf(string1, "Hallo %s", argv[]); . . . } ... und selbst wenn man es richtig macht, ist die Zuweisung mit sprintf() so mehr als kritisch! int teil(char* value) { char string1[20]; sprintf(string1, "Hallo %s", value); . . . } [/PHP] Das funktioniert nämlich nur solange keine Zeichenfolge länger 13 Zeichen eingegeben wurde!!!! Ändere das bitte!
carstenj Geschrieben 24. März 2005 Geschrieben 24. März 2005 Hi, oder du benutzt snprintf, damit bist du dann auf der ganz sicheren Seite.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden