Det hedder sig at funktionen Test tager en række uspecificerede argumenter. I stdarg.h er defineret 3 makroer, som hjælper med at udlede de uspecificerede argumenter. De 3 makroer hedder va_start, va_arg og va_end. Så programmet kommer til at se sådan ud:
void Test (int cnt, char *tekst, ...) {
char *tmp;
va_list marker;
printf ("count er %d\n", cnt); printf ("\nher kommer de restende argumenter:\n\n");
int main(int argc, char* argv[]) { Test (10, "her", "er", "en", "raekke", "uspecificerede", "argumenter" , 56);
return 0; }
va_start tager 2 inputs: marker, som er en pointer til et argument og en pointer til det argument, marker skal starte efter.
va_arg tager 2 inputs: markøren fra før og en hvilken som helst type - her char*
va_arg returnerer argumentet - på en char* returnerer den NULL når der ikke er flere....
va_end tager 1 input: markøren og returner intet.
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.