From: "Andrew Jones" Newsgroups: comp.os.msdos.djgpp References: <001f864e DOT f7539fd2 AT usw-ex0103-018 DOT remarq DOT com> Subject: Re: How do i make a printf type func? Lines: 37 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2919.6600 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Message-ID: Date: Sun, 13 Feb 2000 14:37:13 GMT NNTP-Posting-Host: 24.42.120.18 X-Complaints-To: abuse AT home DOT net X-Trace: news2.rdc1.on.home.com 950452633 24.42.120.18 (Sun, 13 Feb 2000 06:37:13 PST) NNTP-Posting-Date: Sun, 13 Feb 2000 06:37:13 PST Organization: @Home Network Canada To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > Heya, > This is not a DJGPP question, but a C one. I hope you'll help > anyway. > Well, i want to make a function that will recieve a variable > number of arguements. The first argument tells the function > how much more arguments there are. I know how to declare it: > int func(int n,...) > > but i don't know how to address the arguments. Well, since everyone else referred you elsewhere, I'll try my hand. This is a modified version from K&R II. #include #include void Show(const char *format, ...) { char buffer[256]; /* this limits the maximum size of all arguments to 256 bytes */ va_list args; va_start(args, format); vsprintf(buffer, format, args); va_end(args); fprintf(stderr, "you said: %s", buffer); } Will display to stdout whatever you send it. The vsprintf function automagically handles all the normal printf format identifiers (like %s, %c etc...). But you should read up on each individual part of this too. Check your documentation. AndrewJ