ホームページ データベース mysql チュートリアル 细化解析:Mysql数据库对文件操作的封装_MySQL

细化解析:Mysql数据库对文件操作的封装_MySQL

Jun 01, 2016 pm 01:53 PM
オペレーティング·システム

  在查看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 搭載アプリ

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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

フリーマーケットソフトウェアアプリWebサイト フリーマーケットソフトウェアアプリWebサイト Mar 05, 2025 pm 09:03 PM

この記事では、リアルタイム価格、価格表、取引量、変動、市場の深さ、ニュース情報などの主要な情報を投資家に提供できる無料のデジタル資産見積ソフトウェアアプリとウェブサイトを紹介します。 有料ソフトウェアと比較して、フリーソフトウェアには、無料、リッチ機能、簡単な操作の利点があります。 また、この記事では、適切な市場ソフトウェアを選択する方法をユーザーに導き、ユーザーにデータソース、情報の正確性に注意を払い、過度の依存を回避することを思い出させます。 自由市場のソフトウェアを効率的に使用する方法を知りたいですか?全文をすばやく読んでください!

gate.ioの最新バージョンのダウンロード gate.ioの最新バージョンのダウンロード Mar 05, 2025 pm 07:51 PM

暗号通貨の旅を開始するには、gate.ioアプリをダウンロードする必要がありますか?このガイドでは、iOS、Android、およびWindowsデバイスの最新バージョンのダウンロードステップを詳しく説明しています。公式Webサイトにアクセスして、ダウンロードリンクを見つけて、デバイスに基づいて適切なオプションを選択してください。 iOSの場合、App Storeに直接送られ、AndroidおよびWindowsユーザーは手動インストールのためにAPKまたはインストーラーをダウンロードします。インストールしたら、アプリを起動してアカウントを設定して、暗号通貨の世界に足を踏み入れることができます。

jubi.comアプリをダウンロードする方法 jubi.comアプリをダウンロードする方法 Mar 05, 2025 pm 09:09 PM

Jubi.com Cincolaモバイルアプリのダウンロードチュートリアルおよびセキュリティガイド。この記事では、Jubi.comの公式Webサイト、App Store、Invitationリンクを通じてCincolaアプリをダウンロードする方法を詳細に紹介し、AndroidおよびiOSシステムの詳細な手順を提供します。さらに、この記事では、ダウンロードプロセス中のセキュリティ上の注意事項も強調しています。たとえば、公式ウェブサイトの確認、アプリの許可の確認、最新バージョンへの更新、2要素の検証の有効化、フィッシング詐欺の防止など、ユーザーがJUBI.comアプリをダウンロードして使用してデジタルアセット取引を実施し、安全に対応し、ユーザーのトランザクション体験を改善することを目的としています。

ビットコインには、どのようなディスク視聴ソフトウェアが使用されていますか ビットコインには、どのようなディスク視聴ソフトウェアが使用されていますか Mar 17, 2025 pm 04:27 PM

適切なビットコイン市場視聴ソフトウェアを選択することは重要です。投資家はリアルタイムで市場の状況を把握し、より賢い投資決定を行うのに役立ちます。この記事では、個人のニーズの評価(取引頻度、分析の深さ、情報のニーズと予算)、ソフトウェアタイプの選択(交換インターフェイス、プロフェッショナルソフトウェア、市場/アプリ)、コア機能的考慮事項(データの信頼性、チャートツール、カスタム設定、コミュニティコミュニケーション、プラットフォームの互換性)、および方向の推奨事項(成熟財務プラットフォーム、コミュニティの推奨プラットフォーム、コミュニティの推奨プラットフォーム、コミュニティの推奨プラットフォーム、コミュニティの推奨)をカバーする方法を導きます。 最後に、さらにいくつかのソフトウェアを試して、それを比較して、ニーズに最適なツールを選択することをお勧めします。 ソフトウェアは補助ツールにすぎないことを忘れないでください。また、お客様の責任で投資する際には注意する必要があります。

OKXトレーディングプラットフォームをダウンロードする方法 OKXトレーディングプラットフォームをダウンロードする方法 Mar 26, 2025 pm 05:18 PM

OKXトレーディングプラットフォームは、モバイルデバイス(AndroidおよびiOS)およびコンピューター(WindowsとMacOS)からダウンロードできます。 1.Androidユーザーは、公式WebサイトまたはGoogle Playからダウンロードでき、セキュリティ設定に注意を払う必要があります。 2。IOSユーザーは、App Storeからダウンロードするか、公式発表に従って他の方法を取得できます。 3.コンピューターユーザーは、対応するシステムのクライアントを公式Webサイトからダウンロードできます。インストール後、ダウンロードして登録するときは必ず公式チャネルを使用し、ログインし、セキュリティ設定を使用してください。

Shiba Inu Treat(Treat)Coinsはgate.io launchpoolで発売され、1時間ごとの利益を得るという誓約に参加します Shiba Inu Treat(Treat)Coinsはgate.io launchpoolで発売され、1時間ごとの利益を得るという誓約に参加します Mar 05, 2025 pm 02:33 PM

gate.iolaunchpoolは、Shibainutreat(Treat)ですぐに発売されます!指定されたトークンを誓約することに参加すると、おやつトークンの報酬を受け取ります! Shibainutreat(Treat)Project Project Treatは、Shibainu Ecosystemのコアトークンであり、30を超える高度な技術へのトランザクションの報酬とアクセスを提供し、ShibanetworkStateのオペレーティングシステムを形成することを目指しています。これらのテクノロジーは、Defiの革新、分散化されたインキュベーター、AIプロキシフレームワーク、完全に同種の暗号化、およびShibainuメタコスミック没入型エクスペリエンスをカバーしています。 Treatは技術的な基礎であるだけでなく、ガイドに使用されたガバナンストークンでもあります

Yiwen Science certikの中国語の名前は何ですか? Yiwen Science certikの中国語の名前は何ですか? Mar 05, 2025 pm 07:09 PM

ブロックチェーンベースの契約の開放性と透明性は攻撃に対して脆弱であり、Web3セキュリティも重要であり、Web3の最も重要なインフラストラクチャの1つです。 Global Web3セキュリティトラックの大手企業として、Certikは常に多くの注目を集めています。会社の概念を簡単に理解した後、中国語の中国語の名前は何ですか?情報によると、Certikは中国語でUnicornと呼ばれます。 Certikの中国語の名前とは何ですか? certikは中国語でユニコーンと呼ばれ、certikはフォームです

See all articles