中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql對文件操作的封裝方法

發布時間:2021-07-07 18:39:01 來源:億速云 閱讀:158 作者:chen 欄目: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系統進行封裝來提高文件操作的效率。

感謝各位的閱讀,以上就是“Mysql對文件操作的封裝方法”的內容了,經過本文的學習后,相信大家對Mysql對文件操作的封裝方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄平县| 葫芦岛市| 安平县| 广南县| 白玉县| 聂荣县| 秀山| 察雅县| 宁城县| 诸城市| 皋兰县| 朝阳市| 镇江市| 奎屯市| 张家口市| 福海县| 祁门县| 三穗县| 横山县| 固安县| 张家口市| 四会市| 沈丘县| 河北区| 开化县| 平和县| 铁岭市| 弋阳县| 伊川县| 霍邱县| 满洲里市| 长武县| 恩平市| 石棉县| 沁阳市| 武邑县| 新化县| 定边县| 平邑县| 昌图县| 尖扎县|