基于我之前的问题,确定stdinstdin 的大小是否来自不同系统pipe或者terminal不同系统的正确而有效的方法是什么.
我正在做以下事情,但是,根据一些评论,它不是正确的方式,它可能或可能不适用于不同的系统.
#include <sys/stat.h>
off_t size(FILE *st_in) {
struct stat st;
if (fstat(fileno(st_in), &st) == 0)
return st.st_size;
return -1;
}
Run Code Online (Sandbox Code Playgroud)