怎么判断文件是否打开
如何判断文件是否打开?
对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。
对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。