Veröffentlicht 24. März 200520 j 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?
24. März 200520 j wenn du mehrere Teile hast dann ist sprintf einfacher als strcat. Bsp: char str1[20], str2[] = "Welt"; sprintf (str1,"Hallo %s!", str2); [/PHP]
24. März 200520 j 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
24. März 200520 j 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.
24. März 200520 j 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!
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.