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? Zitieren
PuppetMaster Geschrieben 24. März 2005 Geschrieben 24. März 2005 Wenn du mit char[] arbeitest, dann wäre strcat() das was du suchst. Zitieren
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] Zitieren
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 Zitieren
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. Zitieren
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! Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.