#include #include #include int main (void) { char *buf; char buf2[512]; FILE *fp; int rc; if ((buf = malloc (1024 * 1024)) == NULL) { puts ("Cannot allocate"); return 1; } if ((fp = fmemopen (buf2, sizeof buf2, "w")) == NULL) { puts ("Cannot fmemopen"); } setvbuf (fp, (char *) NULL, _IONBF, 0); if ((rc = fwrite (buf, 1, 1024*1024, fp)) != 1024*1024) { printf ("Got %d\n", rc); } fclose (fp); free (buf); return 0; }