ftell (stdin) causa erro de busca ilegal

O código a seguir gera "Procura ilegal":

#include <stdio.h>
#include <errno.h>
#include <string.h>

int main() {
    errno = 0;
    getchar();
    getchar();
    getchar();
    ftell( stdin );
    printf( "%s\n", strerror(errno) );
}

Isso ocorre quando eu executo "script de gato | ./a.out" e quando apenas executo "./a.out". O problema está com os pés, é claro. Minha pergunta é: por que isso ocorre? Eu acho que stdin pode ser procurado. O fseek também causa o mesmo erro. Se stdin não é procurável, existe alguma maneira de fazer o mesmo tipo de coisa?

Obrigado por suas respostas.

questionAnswers(1)

yourAnswerToTheQuestion