Mail Archives: djgpp/2000/07/30/05:07:43
On Sat, 29 Jul 2000, Paulo J. Matos aka PDestroy wrote:
> #include <stdio.h>
>
> 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 <stdio.h>
#include <stdlib.h>
#include <termios.h>
int main(void) {
char *s;
s=malloc(3000);
tcflush(fileno(stdin), TCIFLUSH);
fgets(s, 3000, stdin);
return 1;
}
- Raw text -