首页 数据库 mysql教程 快速掌握Mysql数据库对文件操作的封装_MySQL

快速掌握Mysql数据库对文件操作的封装_MySQL

Jun 01, 2016 pm 02:12 PM
病毒 网吧 资讯 软件

快速掌握 Mysql数据库对文件操作的封装

在查看Mysql对文件的操作中,它在不同的操作系统上对文件的操作,除了使用标准C运行库函数,包括open、close、seek等,在Win32下的文件和目录操作函数使用了CreatFile、CloseHandl、SetFilePointer等,很多人可能不明白为什么对文件的操作要封装出两套函数。

其实使用API和标准库函数都可以生成文本文件和二进制文件,在这点上没有区别。同read()对应的是ReadFile,同write()对应的是WriteFile,同seek()对应的是SetFilePointer,同close对应的是CloseHandle。这两套函数都可以使用。但是Win 32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的。该函数的声明为:

HANDLE CreateFile(

LPCTSTR lpFileName, // 文件名

DWORD dwDesiredAccess, // 访问模式

DWORD dwShareMode, // 共享模式

LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 通常为NULL

DWORD dwCreationDistribution, // 创建方式

DWORD dwFlagsAndAttributes, // 文件属性和标志

HANDLE hTemplateFile // 临时文件的句柄,通常为NULL

如果调用成功,那么该函数返回文件的句柄,如果调用失败,则函数返回:

INVALID_HANDLE_VALUE。

在用ReadFile和WriteFile读写时,既可以同步执行,也可以异步执行。ReadFile和WriteFile函数是否为执行异步操作是由CreateFile函数决定的。如果在调用CreateFile创建句柄时指定了FILE_FLAG_OVERLAPPED标志,那么调用ReadFile和WriteFile对该句柄进行的读写操作就是异步的,如果未指定异步标志,则读写操作是同步的。在同步执行时,函数直到操作完成后才返回。这意味着在同步执行时线程会被阻塞,从而导致效率下降。在异步执行时,即使操作还未完成,调用的函数也会立即返回。费时的I/O操作在后台进行,这样线程就可以干别的事情。这样可以大大的提高效率。这一点是值得我们学习和借鉴的,对于我们在文件的操作方面也可以对win32系统进行封装来提高文件操作的效率。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

bonjour是什么软件能卸载吗 bonjour是什么软件能卸载吗 Feb 20, 2024 am 09:33 AM

标题:探究Bonjour软件及其卸载方法摘要:本文将介绍Bonjour软件的功能、使用范围以及如何卸载该软件。同时,还将解释如何使用其他工具来替代Bonjour,以满足用户的需求。引言:在计算机和网络技术领域中,Bonjour是一种常见的软件。尽管某些用户可能对此不熟悉,但它在一些特定情况下非常有用。如果你碰巧安装了Bonjour软件,但现在想要卸载它,那么

crystaldiskmark是什么软件?-crystaldiskmark如何使用? crystaldiskmark是什么软件?-crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark是一款适用于硬盘的小型HDD基准测试工具,可以快速测量顺序和随机读/写速度。接下来就让小编为大家介绍一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介绍CrystalDiskMark是一款广泛使用的磁盘性能测试工具,用于评估机械硬盘和固态硬盘(SSD)的读写速度和随机I/O性能。它是一款免费的Windows应用程序,并提供用户友好的界面和各种测试模式来评估硬盘驱动器性能的不同方面,并被广泛用于硬件评

WPS Office无法打开PPT文件怎么办-WPS Office无法打开PPT文件的解决方法 WPS Office无法打开PPT文件怎么办-WPS Office无法打开PPT文件的解决方法 Mar 04, 2024 am 11:40 AM

近期有很多小伙伴咨询小编WPSOffice无法打开PPT文件怎么办,接下来就让我们一起学习一下WPSOffice无法打开PPT文件的解决方法吧,希望可以帮助到大家。1、首先打开WPSOffice,进入首页,如下图所示。2、然后在上方搜索栏输入关键词“文档修复”,然后点击打开文档修复工具,如下图所示。3、接着导入PPT文件进行修复就可以了,如下图所示。

CrystalDiskinfo使用教程-CrystalDiskinfo是什么软件? CrystalDiskinfo使用教程-CrystalDiskinfo是什么软件? Mar 18, 2024 pm 04:50 PM

CrystalDiskInfo是一款用来查看电脑硬件设备的软件,在这款软件中我们可以对自己的电脑硬件进行查看,例如读取速度、传输模式以及接口等!那么除了这些功能之外,CrystalDiskInfo怎么使用,CrystalDiskInfo究竟是什么呢,下面就让小编为大家整理一下吧!一、CrystalDiskInfo的由来作为电脑主机三大件之一,固态硬盘是电脑的存储媒介,负责电脑的数据存储,一块好的固态硬盘能加快文件的读取速度,影响消费者使用体验。当消费者收到新设备时,可通过第三方软件或其他固态硬盘

Adobe Illustrator CS6怎样设置键盘增量-Adobe Illustrator CS6设置键盘增量的方法 Adobe Illustrator CS6怎样设置键盘增量-Adobe Illustrator CS6设置键盘增量的方法 Mar 04, 2024 pm 06:04 PM

很多用户办公中都在使用AdobeIllustratorCS6软件,那么你们知道AdobeIllustratorCS6怎样设置键盘增量吗?接着,小编就为大伙带来了AdobeIllustratorCS6设置键盘增量的方法,感兴趣的用户快来下文看看吧。第一步:启动AdobeIllustratorCS6软件,如下图所示。第二步:在菜单栏中,依次单击【编辑】→【首选项】→【常规】命令。第三步:弹出【键盘增量】对话框,在【键盘增量】文本框中输入需要的数字,最后单击【确定】按钮。第四步:使用快捷键【Ctrl】

bonjour是什么软件有用吗 bonjour是什么软件有用吗 Feb 22, 2024 pm 08:39 PM

Bonjour是由苹果公司推出的一项网络协议和软件,用于在局域网内发现和配置网络服务。它的主要作用是在同一网络中连接的设备之间自动发现和通信。Bonjour最早在2002年的MacOSX10.2版本中引入,并且现在已经在苹果的操作系统中被默认安装和启用了。此后,苹果公司将Bonjour的技术开放给其他厂商使用,因此许多其他操作系统和设备也能够支持Bon

手机中病毒怎么彻底清除 推荐手机中病毒处理方法 手机中病毒怎么彻底清除 推荐手机中病毒处理方法 Feb 29, 2024 am 10:52 AM

手机在感染了某种木马病毒后,通过杀毒软件是无法发现查杀的,这个原理就像电脑感染了某种顽固病毒一样,只能通过格式化C盘重装系统,才能将病毒彻底清理掉,那么接下来我就讲解一下手机感染顽固病毒后,彻底清理病毒的方法。方法一打开手机依次点击“设置”-其他设置“-”还原手机“,将手机恢复至出厂设置即可。注意:恢复出厂设置前要先备份手机里面的重要资料,出厂设置就等同于电脑的”格式化重装系统一样“,恢复完之后手机里面的资料将会清空。方法二(1)首先将手机关机,然后同时按住手机“电源键”+“音量+键或音量-键”

一个不兼容的软件尝试与Edge加载怎么解决? 一个不兼容的软件尝试与Edge加载怎么解决? Mar 15, 2024 pm 01:34 PM

  我们在使用Edge浏览器的时候有时候会出现不兼容的软件尝试一起加载,那么这是怎么回事?下面就让本站来为用户们来仔细的介绍一下一个不兼容的软件尝试与Edge加载怎么解决吧。  一个不兼容的软件尝试与Edge加载怎么解决  解决方案一:  开始菜单搜IE,直接用IE访问即可。  解决方案二:  注意:修改注册表可能会导致系统故障,谨慎操作。  修改注册表参数。  1、运行中输入regedit。  2、找到路径\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Micros

See all articles