[aclug-L] Weekly C quiz
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
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?
Larry
-- This is the discussion@xxxxxxxxx list. To unsubscribe,
visit http://tmp2.complete.org/cgi-bin/listargate-aclug.cgi
- [aclug-L] Weekly C quiz,
Larry Bottorff <=
|
|