Complete.Org: Mailing Lists: Archives: discussion: March 2000:
[aclug-L] Weekly C quiz

[aclug-L] Weekly C quiz

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: ACLUG <discussion@xxxxxxxxx>
Subject: [aclug-L] Weekly C quiz
From: Larry Bottorff <mrprenzl@xxxxxxxxxx>
Date: Sat, 11 Mar 2000 01:05:31 -0600
Reply-to: discussion@xxxxxxxxx

Here's the next installment of Larry's Weekly C Quiz. This week we're
looking at buffer overruns. Here's some code:

#define MAX_BUF 201
char buffer[MAX_BUF];
FILE *file_in;
while (fgets(buffer, sizeof(buffer), file_in) != NULL) {

If fgets returns a line from file_in's file bigger than MAX_BUF, buffer
is full at the maximun size, the rest not going into buffer: good. But
then the next fgets seems to fill buffer with the leftover from the
input file's last line. How can I "flush" fgets so a longer line's
leftover doesn't show up in the next fgets?


-- This is the discussion@xxxxxxxxx list.  To unsubscribe,

[Prev in Thread] Current Thread [Next in Thread]