27. september 2005 - 22:21Der er
5 kommentarer og 1 løsning
hvad er det nu "punktumpunktumpunktum" hedder
Jeg har brug for at send noget data, men jeg ved ikke på forhånd hvor mange input funktionen skal ha.
Altså funktionen skal se sådan her ud (bortset fra jeg jo gerne vil ha den til at virke ;) void send(char *cmd, ...) { sprintf(cmd, ...); //... er de input der er kommet ind i funktionen ::send(cmd); }
Hvad hedder denne type inputs ? det er ikke den helt store success at søge på "..."
Perfekt, endnu en gang tak. Fandt det her exempel i borland f1, det er næsten lige nødagtigt det jeg mangler.
#include <stdio.h> #include <stdarg.h>
/* calculate sum of a 0 terminated list */ void sum(char *msg, ...) { int total = 0; va_list ap; int arg; va_start(ap, msg); while ((arg = va_arg(ap,int)) != 0) { total += arg; } printf(msg, total); va_end(ap); }
int main(void) { sum("The total of 1+2+3+4 is %d\n", 1,2,3,4,0); return 0; }
Så virker det som det skal . Her er formaterings delen af det: send(char *cmd, ...) { char output[100]; va_list argptr; va_start(argptr, cmd); vsprintf(output, cmd, argptr); va_end(argptr); } void __fastcall TForm1::Button1Click(TObject *Sender) { char cmd[100] = "12 23 34 %x %x"; send(cmd, 0x02, 0x03); } Tak og godnat.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.