怎么判断文件是否打开

如何判断文件是否打开?
对usb和串口设备读写数据,如何判断文件是否打开,因为切换设备需要关闭之前打开的文件!比如判断是否打开才能选择是否关闭!

------解决方案--------------------
使用_aceess函数:

使用_access函数判断文件是否存在是比较简单的方法,_access方法是在头文件<io.h>中的,在使用之前要加入这个头文件,现在来看一下_access函数的形式:

int _access( const char *path, int mode );

参数path:是所要判断状态的文件名。

参数mode:是判断文件状态的标志。

参数mode有以下几种形式:

00:表示判断文件是否存在

02:表示判断文件是否可写

04:表示判断文件是否可读

06:表示判断文件是否又可读又可写


------解决方案--------------------
HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);用这个函数生成一个新文件,它的返回值是HANDLE型,如果函数调用成功就返回打开文件的句柄。如果调用前文件已经存在并且dwCreation Disposition参数使用CREATE_ALWAYS或OPEN_ALWAYS,则返回ERROR_ ALREADY_ EXISTS。函数调用失败则返回INVALID_HANDLE_VALUE。