加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows API一日一练 53 CreateFile函数

发布时间:2020-12-14 02:34:33 所属栏目:Windows 来源:网络整理
导读:在软件的需求里,把有用的数据保存起来是非常重要的功能。比如每天的股票行情数据需要保存起来,以便生成 K 线图。比如游戏客户端的 LOG 需要保存起,以便客户端出错时可以把 LOG 发送回来分析它出错的原因。比如银行每天进行交易时,也需要把所有交易的数据
在软件的需求里,把有用的数据保存起来是非常重要的功能。比如每天的股票行情数据需要保存起来,以便生成 K 线图。比如游戏客户端的 LOG 需要保存起,以便客户端出错时可以把 LOG 发送回来分析它出错的原因。比如银行每天进行交易时,也需要把所有交易的数据保存到文件备份起来,以便进行结算。还有在数据采集领域更是需要保存更多的数据,比如从 DV 里读取视频和语音数据出来,就会生成 12G 的巨型文件。比如读 DVD 光盘里,把光盘做成虚拟光驱也有 9G 大小。因此,创建文件是非常普通的功能,这个肯定是掌握,并且非常会使用的。当然这个 CreateFile 函数不但可以创建文件,还可以打串口、并口、网络、 USB 设备等功能。
?
?
函数 CreateFile 声明如下:
?
WINBASEAPI
__out
HANDLE
WINAPI
CreateFileA(
??? __in???? LPCSTR lpFileName,
??? __in???? DWORD dwDesiredAccess,
??? __in???? DWORD dwShareMode,
??? __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
??? __in???? DWORD dwCreationDisposition,
??? __in???? DWORD dwFlagsAndAttributes,
??? __in_opt HANDLE hTemplateFile
??? );
WINBASEAPI
__out
HANDLE
WINAPI
CreateFileW(
??? __in???? LPCWSTR lpFileName,
??? __in_opt HANDLE hTemplateFile
??? );
#ifdef UNICODE
#define CreateFile?CreateFileW
#else
#define CreateFile?CreateFileA
#endif // !UNICODE
lpFileName 是文件或设备的名称。
dwDesiredAccess 是访问属性。
dwShareMode 是共享属性。
lpSecurityAttributes 是安全属性。
dwCreationDisposition 是创建属性。
dwFlagsAndAttributes 是文件标志和属性。
hTemplateFile 是文件模板。
?
调用函数的例子如下:
#001??// 创建文件。
#002??// 蔡军生 ?2007/10/18 QQ:9073204 深圳
#003??void CreateFileDemo(void)
#004??{
#005???????? //
#006???????? HANDLE hFile = ::CreateFile(_T("CreateFileDemo.txt"),???? // 创建文件的名称。
#007????????????? GENERIC_WRITE,????????? // 写文件。
#008????????????? 0,????????????????????? // 不共享读写。
#009????????????? NULL,?????????????????? // 缺省安全属性。
#010????????????? CREATE_ALWAYS,????????? // 如果文件存在,也创建。
#011????????????? FILE_ATTRIBUTE_NORMAL,// 一般的文件。 ?????????
#012????????????? NULL);???????????????? // 模板文件为空。
#013?
#014???????? if (hFile == INVALID_HANDLE_VALUE)
#015???????? {
#016?????????????? //
#017?????????????? OutputDebugString(_T("CreateFile fail!/r/n"));
#018???????? }
#019??}
?

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读