barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (03/10/90)
scanf() and sscanf() do not work properly with Manx C 5.0a. I have not tested fscanf(). The problems are: (1) The functions do not return the correct value on bad inpu. (2) scanf() does not see EOF until you send it TWICE. Test program: #include <stdio.h> main() { int i, result; result = scanf("%d", &i); printf("%d %d\n", result, i); } Compile: cc t.c Link: ln t.o -lc Run: t Give the input 'z' and scanf incorrectly returns 1, instead of 0. Type EOF (^\) and scanf ignores it. Type a second ^\ and scanf() sees it. How the HELL did a big error like this one get out?????????!?!?!?! Or am I doing something TOTALLY stupid??? I have submitted a bug report to Manx. Dan //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | Dan Barrett, Department of Computer Science Johns Hopkins University | | INTERNET: barrett@cs.jhu.edu | | | COMPUSERVE: >internet:barrett@cs.jhu.edu | UUCP: barrett@jhunix.UUCP | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////