018
23.03.2004, 16:01 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
also nochmal zu sprintf...
der erste parameter ist der in dem am ende alles drinstehen soll, dann übergibst du einen formatstring in dem drin steht wie in dem ersten parameter reingeschrieben werden soll... danach kommt eine paramterliste die anhängig ist wie der formatstring aussieht
ich mach mal ein paar beispiele vielleicht wirds dir ja dann klar
C++: |
char buffer[1024]; char tmp[128]="tralala"; sprintf(buffer,"Hallo"); //jetzt steht in buffer Hallo drin sprintf(buffer,"Hallo %d", 35); //jetzt steht in buffer Hallo 35 drin sprintf(buffer,"Hallo %d", 35); //jetzt steht in buffer Hallo 35 drin sprintf(buffer,"%s",tmp); //jetzt steht in buffer tralala sprintf(buffer,"Hallo%s",tmp); //jetzt steht in buffer Hallo tralala
|
du kannst also mehrer strings zusammenschmeissen indem du einfach für jeden string der später in dem komplettstring stehen soll ein %s in den formatstring(das ist der 2.parameter von sprintf) schreibst
angenommen du hast dein programm mit test -asdf -tralala gestartet...
C++: |
sprintf(buffer,"%s%s",argv[1],argv[2]); //jetzt steht buffer -asdf-tralala //wenn du jetzt noch was konstantes vor die parameter schreiben willst kannst du das so machen sprintf(buffer,"mycommand%s%s",argv[1],argv[2]); //jetzt steht buffer mycommand-asdf-tralala //du kannst auch noch einen anderen string davorschreiben z.b. so char cmd[]="mycommand"; sprintf(buffer,"%s%s%s",mycommand,argv[1],argv[2]); //jetzt steht buffer
|
jetzt klar? -- ...fleißig wie zwei Weißbrote |