如果可以使用fopen(),那么解决方案很简单:
FILE *fp;
fp = fopen(path, "r");
fseek (fp, 0, SEEK_END);
size = ftell(fp);
如果size为零,则文件为空。
但是,如果要求fopen()不能使用,该怎么办?相反,我必须使用的是系统调用,如open():
int f = open(path, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR );
ftell()只能与FILE类型的流一起使用。我用谷歌搜索了这个,找不到任何解决方案。