Integer_Type fgets (SLang_Ref_Type ref, File_Type fp)
fgets reads a line from the open file specified by fp
and places the characters in the variable whose reference is
specified by ref.
It returns -1 if fp is not associated with an open file
or an attempt was made to read at the end the file; otherwise, it
returns the number of characters read.
The following example returns the lines of a file via a linked list:
define read_file (file)
{
variable buf, fp, root, tail;
variable list_type = struct { text, next };
root = NULL;
fp = fopen(file, "r");
if (fp == NULL)
error("fopen %s failed." file);
while (-1 != fgets (&buf, fp))
{
if (root == NULL)
{
root = @list_type;
tail = root;
}
else
{
tail.next = @list_type;
tail = tail.next;
}
tail.text = buf;
tail.next = NULL;
}
() = fclose (fp);
return root;
}
- slangrtl
-
_traceback,
clearerr,
close,
errno,
error,
fclose,
fdopen,
feof,
ferror,
fflush,
fgetslines,
fileno,
fopen,
fprintf,
fputs,
fread,
fseek,
ftell,
fwrite,
isatty,
message,
mkdir,
open,
pclose,
popen,
printf,
read,
usage,
verror
|