求c语言判断文件是否已经打开的方法。就是从已知的文件句柄fp来判断的,在linux和windows平台通用的。

如题所述

自己找到答案了。开个小号来收走。
文件结构体中有状态标识符,可以用来判断文件是的打开状态。windows下面是_flag,linux上面是flags,solaris上面的结构体变量中没有状态标识符。但是linux和solairs上面都可以用fileno来获得文件的描述符,然后用fcntl来获得文件的状态标识。fcntl(fd,F_GETFL),大概是这样写。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-03
if(fp==NULL)
如果打开失败
一般都采用这句来判断文件是否打开。例如:
fp=fopen(fname,"r");
if(fp==NULL)
{
printf("错误!");
exit(1);
}