dn> To simplify the previous example, you could use a "magic
string" of some
dn> sort, such as that used by *printf(). Or make it simpler again, and say
dn> that as many args are passed as there are characters in the char array
dn> pointed to by the first argument, that an 'i' character means an int, a 'd'
dn> character means a double, a 's' means a char* and so on. So you'd be
dn> looking at something like:
dn> void foo(char const *fmt, ...)
dn> {
dn> va_arg arp;
dn> va_start(argp,fmt);
dn> while (*fmt)
dn> {
dn> switch (*fmt++)
dn> {
dn> case 'i':
dn> {
dn> int i = va_arg(argp,int);
dn> /* ... */
dn> }
dn> break;
dn> case 's':
dn> /* and so on... */
dn> }
Code to do this sort of think can be obtained by FREQing "TFON*.*"
from 3:711/934. BFN. Paul.
@EOT:
---
* Origin: X (3:711/934.9)
|