検索
ホームページデータベースmysql チュートリアル细化解析:Mysql数据库对文件操作的封装_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 までご連絡ください。
世界上的三大操作系统是什么世界上的三大操作系统是什么Aug 22, 2022 pm 04:24 PM

三大操作系统:1、windows,是微软公司以图形用户界面为基础研发的操作系统,主要运用于计算机、智能手机等设备。2、macOS,是一套由苹果开发的运行于Macintosh系列电脑上的操作系统,是基于XNU混合内核的图形化操作系统。3、linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

vivo手机是什么系统vivo手机是什么系统Jul 04, 2022 am 11:10 AM

vivo手机是“Funtouch OS”和“OriginOS”系统;2020年11月18日之前,vivo手机搭载的都是“Funtouch OS”系统,2020年11月18日“OriginOS”操作系统发布之后,vivo手机搭载的就是“OriginOS”操作系统了,首款搭载该系统的是“vivo X60”系列手机。

windows操作系统的特点包括什么windows操作系统的特点包括什么Sep 28, 2020 pm 12:02 PM

windows操作系统的特点包括:1、图形界面;直观高效的面向对象的图形用户界面,易学易用。2、多任务;允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。3、即插即用。4、出色的多媒体功能。5、对内存的自动化管理。

什么是闭环控制系统什么是闭环控制系统Jul 04, 2022 pm 04:18 PM

闭环控制系统是控制系统的一种类型,能够把系统输出量的一部分或全部通过一定方法和装置反送回系统的输出端,再将反馈信息与原输入信息进行比较,将比较的结果施加于系统进行控制,避免系统偏离预定目标。

什么是操作系统?它的作用是什么?什么是操作系统?它的作用是什么?Dec 07, 2020 pm 03:04 PM

操作系统是管理计算机硬件与软件资源的计算机程序,是控制和管理计算机软硬件资源,以尽量合理有效的方法组织多个用户共享多种资源的程序集合。操作系统的作用:1、管理系统中的各种资源;2、为用户提供良好的界面。从计算机用户的角度来说,操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;从设计人员的角度来说,就是指各式各样模块和单元之间的联系。

miui是什么系统miui是什么系统Oct 27, 2022 pm 03:59 PM

miui是小米公司旗下基于Android系统深度优化、定制、开发的第三方手机操作系统。MIUI在Android系统基础上,针对中国用户进行了深度定制,专为小米智能手机设计,包含红米系列,同时支持手机物联。​在隐私方面,miui系统会记录各应用的一切敏感行为,并呈现出来;当应用使用相机、录音、定位权限时,系统会给出明显提示,点击提示即可进行管控。

电脑开机快慢和什么有关电脑开机快慢和什么有关Aug 12, 2022 am 10:47 AM

影响电脑开机快慢的因素:1、操作系统;如果操作系统太过庞大,开机要加载的文件、服务、软件过多就会让开机速度变慢。2、硬件;硬件对于开机的影响主要是CPU、内存容量和硬盘速度,主板中预存的引导程序会引导CPU通过主板从硬盘中调用启动系统的数据,然后在内存空间内运行,因而CPU、内存大小和硬盘直接影响电脑开机的速度。3、加载项;加载项越多,硬盘要加载的东西就越多,开机速度就越慢。

按操作系统的分类,UNIX操作系统是什么按操作系统的分类,UNIX操作系统是什么Jul 11, 2022 pm 04:13 PM

按操作系统的分类,UNIX操作系统是分时操作系统。分时操作系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统;分时操作系统典型的例子就是Unix和Linux的操作系统,其可以同时连接多个终端并且每隔一段时间重新扫描进程,重新分配进程的优先级,动态分配系统资源。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン