Avatar billede hurra Novice
27. september 2005 - 22:21 Der 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å "..."
Avatar billede arne_v Ekspert
27. september 2005 - 22:30 #1
ellipsis
Avatar billede arne_v Ekspert
27. september 2005 - 22:31 #2
stdarg.h

er måske også et godt søge ord
Avatar billede bertelbrander Novice
27. september 2005 - 22:36 #3
Man vil nok også have brug for vsprintf
Avatar billede hurra Novice
27. september 2005 - 22:37 #4
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;
}

Du skal ha nogle points.
Avatar billede arne_v Ekspert
27. september 2005 - 22:45 #5
så vil jeg ligge et svar
Avatar billede hurra Novice
27. september 2005 - 22:49 #6
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester