On 11/25/10 9:56 PM, Vitaliy Margolen wrote:
On 11/24/2010 07:19 PM, James McKenzie wrote:
On 11/24/10 6:56 PM, Vitaliy Margolen wrote:
On 11/24/2010 12:23 PM, [email protected] wrote:
From: James Eder<[email protected]>
- while (fgets(line,200,f) != NULL)
+ while (fgets(line,450,f) != NULL)
You might as well then change this to "sizeof(line)".
Just for my edification, is there not a better way then setting the
variable
line to a flexible length for this purpose.
Unless I didn't understand your question - you can't set a buffer to a
"variable length". You have to provide fgets() a size of the buffer so
it can read at most that many characters -1 for terminating \0.
Clarification: If we know the length of the input should we not set up
the buffer to that length? If we don't know should we not set it to a
maximum expected length that is a known value within the system?
Pseudo code for known case:
Length = # of characters in existing variable
buffer [Length +1]
use buffer...
Pseudo code for unknown case:
MaxLengthofCharacterString = 1024
buffer [MaxLengthofCharacterString]
use buffer...
Gets away from 'magic numbers' like 250 and 450.
James McKenzie