初歩の初歩の質問で恐縮なんですが
fgetc(fp)とすると、その次のfgetc(fp)では次の1バイトが取得されます。
これを、何度取得しても同じバイトが取得されるようにできないでしょうか?

具体的には、

char c1;
char c2;
FILE *fp;
...ファイルオープン...
c1 = fgetc(fp);
fseek(fp, -1, SEEK_CUR);
c2 = fgetc(fp);

とすると、c1とc2に同じ文字が代入されると思うのですが、fseekを使わなくても、

c1 = fgetc_noFoward(fp);
c2 = fgetc_noFoward(fp);

として、c1とc2に同じ文字が代入されるようにしたいです。
fseekを使うか、

c1 = fgetc(fp);
ungetc(c1, fp);
c2 = fgetc(fp);

とungetcを使うしかないでしょうか??
ファイルの中の位置を変えない文字取得関数ってないのかな。。。