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).