Date: Sun, 30 Jul 2000 11:02:38 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: "Paulo J. Matos aka PDestroy" cc: djgpp AT delorie DOT com Subject: Re: fgets Max Chars In-Reply-To: <8luvll$tj6$1@duke.telepac.pt> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, 29 Jul 2000, Paulo J. Matos aka PDestroy wrote: > #include > > int main(void) { > char *s; > > s=malloc(3000); > > fgets(s, 3000, stdin); > return 1; > } > > Althought I malloced 3000 chars I am only able to write 129... Modify your program like shown below, and it will do what you expect. (Although generally a good idea, tcflush is not really needed in the particular case of this simple test program. I used it because it causes termios to kick in and handle console input, instead of DOS. This works around the limitations of the DOS console device driver.) #include #include #include int main(void) { char *s; s=malloc(3000); tcflush(fileno(stdin), TCIFLUSH); fgets(s, 3000, stdin); return 1; }