fgets#
Purpose#
Reads a line of text from a file, retaining the newline (if present).
Format#
- str = fgets(fh, maxsize)#
- Parameters:
fh (scalar) – file handle of a file opened with
fopen()
.maxsize (scalar) – maximum size of string to read in, including the terminating null byte.
- Returns:
str (string) – Contains the text read from the file line specified by the file handle fh. The maximum size of the str, including the terminating null byte, is maxsize.
Examples#
// Specify file name with full path
fname = getGAUSSHome("examples/housing.csv");
// Open file handle for reading
fh = fopen(fname, "r");
// Read the first line of the file
// (up to 100 characters)
s = fgets(fh, 100);
After the above code, s will equal:
"taxes","beds","baths","new","price","size"
// Read the second line of the file
// by running 'fgets' again with the
// same file handle.
s = fgets(fh, 100);
After running the line above, s will be equal to:
3104,4,2,0,279.9,2048
Remarks#
The fgets()
procedure reads text from a file into a string. It reads up to a newline,
the end of the file, or \(maxsize-1\) characters. The result is placed in
str, which is then terminated with a null byte. The newline, if present,
is retained.
If the file is already at end-of-file when you call fgets()
, your program
will terminate with an error. Use eof()
in conjunction with fgets()
to avoid
this.
If the file was opened for update (see fopen()
) and you are switching from
writing to reading, don’t forget to call fseek()
or fflush()
first, to flush
the file’s buffer.
If you pass fgets()
the handle of a file opened with open (i.e., a data
set or matrix file), your program will terminate with a fatal error.