はじめての C

では、ファイル・ポインタとは 何かというと、

Recall that files in the standard library are described by file pointers rather than file descriptors. A file pointer is a pointer to a structure that contains several pieces of information about the file; a pointer to a buffer, so the file can be read in large chunks; a count of the number of characters left in the buffer; a pointer to the next character in the buffer; the file descriptor; and flags describing read/write mode, error status, etc.

訳してみると、

標準ライブラリにおける ファイルの 呼び出しでは、ファイル記述子 (fd) より むしろ ファイル・ポインタ (fp) によって 記述されている。 ファイル・ポインタは、その ファイルに 関する 数個の 情報を 含む 構造体 への ポインタであり、1つの buffer を 1つの ポインタで 指すことで、ファイルを 大きな カタマリとして 読み取ることが できる。 (構造体の メンバに) buffer に 置かれた 文字*1数の カウント、buffer 内の 次の 文字の 位置を 指す ポインタ、ファイル記述子を もっており、(他に) read/write mode、error status 等々を 記述した flags (共用体) が ある。 (p214)

標準ライブラリ - この場合、ヘッダファイルの <stdio.h> ですが - を インクルードすることで、ファイル記述子の 代わりに ファイル・ポインタ - FILE * - を 使って、ファイルを 扱えるように しているわけです。
関数の fseek や ftell で、ファイル記述子 (fd) でなく ファイル位置表示子 (fp) という 名前が 使われているのは、こうした 設計上の 整合性を 保つためかも しれない ...
(同じ fp という 表示なので、ちょっと 混乱しますが)

*1:数字や 記号を 含む