fnf@unisoft.UUCP (11/25/85)
/* * This program demonstrates that there is a limitation on how long * a string "sprintf()" is capable of printing. On my machine, it * appears to be 200 characters. I don't know whether this is the * limit on an individual argument, or the total of the argument * lengths, but it would be easy enough to write another test program * to find out. So, beware..., this has already bitten me once. * * Also, note that when the limit is reached, sprintf returns a value * one greater than the actual number of characters placed in the * output buffer. * * Fred Fish */ #include <stdio.h> #define MAXSIZE (256) main () { auto char buffer1[MAXSIZE+1]; auto char buffer2[MAXSIZE+1]; register int index; register int xfered; buffer1[0] = 0; buffer2[0] = 0; for (index=0; index < MAXSIZE; index++) { xfered = sprintf (buffer1, "%s%c", buffer2, '0' + (index % 10)); printf ("%3.3d: %s\n", xfered, buffer1); fflush (stdout); strcpy (buffer2, buffer1); } }