I assume these functions are forbidden because of some assignment restriction, rather than technical? It depends what you want to do:
feof() is for determining whether a stream is at the end of the file
fseek() is for moving to a particular position in that file.
You can determine whether a stream is at the end of the file at read time. For example, from the man page for fscanf:
The value EOF is returned if an input failure occurs before any conversion such as an end-of-file occurs.
For moving around within a file without using fseek(), you can use rewind() from your allowed list.
From the man page for rewind():
The rewind() function sets the file position indicator for the stream pointed to by stream to the beginning of the file. It is equivalent to:
(void)fseek(stream, 0L, SEEK_SET)
From there, you'll have to read up to the point you wanted to seek() to.