Seriously guys. NOOOOOOO!!!!!!!
To print an arbitrary string use fprintf(stdout, "%s", foo);
Come on.
Tom
>>> Jason Dixon 9-Nov-06 16:59 >>>
>
> On Nov 9, 2006, at 11:37 AM, Cassio B. Caporal wrote:
>
> > Hey,
> >
> > I have problems to print '%' in stdout... Suppose code below:
> >
> > #include <stdio.h>
> >
> > main() {
> > char foo[] = "bar=30%\n";
> > fprintf(stdout, bar);
> > }
> >
> > OpenBSD returns : bar=30
> > Linux returns : bar=30%
> >
> > How can I solve this? Thanks,
>
> $ cat foo.c
> #include <stdio.h>
>
> main() {
> char foo[] = "bar=30%%\n";
> fprintf(stdout, foo);
> }
> $ gcc foo.c -o foo
> $ ./foo
> bar=30%