看你是怎样打开的。
如果用 fopen 打开, 则检查 FILE, 如果不是NULL, 就是打开的。
例如:
FILE *fin;
fin = fopen("a.txt","r");
if (fin != NULL){
fclose(fin);
printf("-close-");
};
如果你用CFile class.
可以检查成员变量 public UINT m_hFile 句柄,如果它不等于 CFile::hFileNull 估计是打开的。你进一步可以用 CFile::GetStatus(..) 取回一个状态结构(CFileStatus status;)
,检查里面各项,判断是否打开的。
有一种比较好的方式是这样,比如
CFile f;
if(f.Open("...",......))
{
//文件操作代码
f.Close();
}
这样的好处就是,打开了会关闭,没有打开就不用关闭了。
其他FILE等也可以用这种方式。