Would sprintf do what you want?
On Thu, Jan 22, 2004 at 02:20:30PM -0700, Michael Ryan Byrd said:
> So, in C, is there a way to capture the stdout from a function?
>
> I have FunctionX which printfs a bunch of stuff. I'd like to capture that stuff
> into a string without it printing and do a bunch of modifications to it before
> printing.
>
> Did that make sense? Any ideas how I can do that?
>
> MRB
>
> p.s.
>
> I know if I wanted to capture the contents of a system call, I could use
> popen(), something like what I have below, but is there a way, in C to do this
> with a C function?
>
> #define bufsize 1024
>
> FILE *pp;
> char VBUFF[bufsize];
>
> ...
>
> if ((pp = popen( "/sbin/mount -va 2<&1","r")) == NULL)
> {
> printf("Failed to open pipe\n");
> return errorcode;
> }
>
> while (!feof(pp))
> {
> fgets(VBUFF,bufsize,pp);
>
> /* Just write the output to stdout */
>
> printf ("Pipe read: %s\n",VBUFF);
> }
>
> pclose(pp);-- Derek M Davis [EMAIL PROTECTED] ------------------------------------------------------------------- Not ignorance, but ignorance of ignorance is the death of knowledge
pgp00000.pgp
Description: PGP signature
____________________ BYU Unix Users Group http://uug.byu.edu/ ___________________________________________________________________ List Info: http://uug.byu.edu/cgi-bin/mailman/listinfo/uug-list
