void
argmatch_valid (const char *const *arglist,
const char *vallist, size_t valsize)
{
size_t i;
const char *last_val = NULL;
fprintf (stderr, _("Valid arguments are:"));
for (i = 0; arglist[i]; i++)
if ((i == 0)|| memcmp (last_val, vallist + valsize * i, valsize))
{
fprintf (stderr, "\n - `%s'", arglist[i]);
last_val = vallist + valsize * i;
}
else
{
fprintf (stderr, ", `%s'", arglist[i]);
}
putc ('\n', stderr);
}
I am getting the following although I have included stdio.h in my .c file
warning C4013: 'fprintf' undefined; assuming extern returning int error C2065: 'stderr' : undeclared identifier warning C4013: 'putc' undefined; assuming extern returning int
I thought of disabling the warning by #pragma warning( disable :4013 ) but wanted to compile the code clean.
Thanks in advance
While stdio.h should work, sometimes you need to include stdlib.h as well. Include the following:
#include <stdio.h>
#include <stdlib.h>
Declare both of these includes at the TOP of the same .C file your argmatch_valid function above is defined.
My crystal ball suggests that the stdio.h you think you are including is getting wrapped by a comment or within another preprocessor section that is getting wiped out. Maybe you can post your entire source file. Someone will likely spot the real error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With