Using fseek with a file pointer that points to stdin

Yes, it’s perfectly normal that fseek won’t work on stdin — it’ll normally only work on a disk file, or something reasonably similar.

Though it’s really a POSIX thing, you can typically use if (isatty(fileno(myFile))) to get at least a pretty good idea of whether seeking will work in a particular file. In some cases, isatty and/or fileno will have a leading underscore (e.g., IIRC the versions provided with Microsoft’s compilers do).

Leave a Comment