Text zusammen mit argv
-
helpme schrieb:
Aha,
aber gibt er dass dann nicht auf dem Bildschirm aus? Ich will es ja in eine Variable schreiben???
Danke
man: sprintf(3) != printf
-
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
-
argv ist eine normale variable, genau wie main eine normale funktion ist.
du musst argv also an teil, wie jede andere normale variable auch, übergeben.
-
Und wie mache ich das ganz normal? Komme gerade irgendwie nicht klar. Bitte um Hilfe.
-
int teil(char **argv){ /* dein code */ }
-
#include <stdio.h> int teil(int *argv) { char string1[20]; sprintf(string1, "Hallo %s", argv[1]); printf("%s", string1); return 0; } int main(int argc,char *argv[]) { if(argc <= 1) { printf("Sie haben keine Parameter angegeben"); } else { teil(argv); } return 0; }
mfg hohesC
-
Jetzt habe ich aber das Problem, dass er mir ein ERROR bringt
test.c: In function
main': test.c:25: error: too few arguments to function
teil'Muss ich beim Aufruf des Programmteils noch was sagen?
???
-
wenn du den Code benutzt den ich gepostet hab solltest du keine Probleme haben!
mfg hohesC
-
super! Danke Leute, ihr seid echt einsame spitze. Jetzt habe ich schon wieder was gelernt.
-
hohesC schrieb:
#include <stdio.h> int teil(int *argv) { char string1[20]; sprintf(string1, "Hallo %s", argv[1]); printf("%s", string1); return 0; } int main(int argc,char *argv[]) { if(argc <= 1) { printf("Sie haben keine Parameter angegeben"); } else { teil(argv); } return 0; }
mfg hohesC
leider ist das falsch!
richtig wäre
int teil(int **argv) { char string1[20]; sprintf(string1, "Hallo %s", argv[1]); printf("%s", string1); return 0; }