ein Kapitel zurück                                           ein Kapitel weiter

Die Lösung ist gar nicht so schwer. Sie müssen erst die Variablen in Strings mit sprintf umwandeln und anschließend mit dem Argumentenzeiger das Glied in die Reih fügen .....

/*Download:avarg.c*/
#include <stdarg.h> #include <stdio.h> #include <string.h> char * stringcat(char *s,...) { va_list strings; /*Speichert Information für va_arg und va_end*/ char *p; /* Copy first string */ va_start(strings,s); /*Zeigt auf dem ersten Parmeter string1*/ if ((p = va_arg(strings,char *)) == NULL) { *s = '\0'; return s; /*Falls nur ein Argument übergeben wurde*/ } else strcpy(s,p); /* Append others */ while ((p = va_arg(strings,char *)) != NULL) strcat(s,p); return s; } int main() { char buf[100]; char string1[10],string2[10],string3[10]; char c = '/'; int prozent=100; int teiler = 3; float schnitt = 33.34; char string[] = "und das als String"; sprintf(string1,"%d\% ",prozent); sprintf(string2," %c%d ",c,teiler); sprintf(string3," =%.2f\% ",schnitt); stringcat(buf,string1,string2,string3,string,NULL); printf("%s\n",buf); return 0; }

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf