(1)了解磁碟的物理知識。
(2)掌握windows系統提供的有關對磁碟操作api。
(3)根據輸入的扇區號讀/寫指定扇區。
1.設定讀/寫操作的位置
函式setfilepointer()用於移動乙個開啟檔案中的讀/寫指標,這裡磁碟裝置被當作檔案處理,因此用於移動檔案讀/寫指標在磁碟上的位置。
原型:
dword setfilepointer(
handle hfile, //開啟的檔案控制代碼
long lpdistancetomove, //指標要移動的偏移量的低32位,用於指定移動檔案指標的位元組大小
plong lpdistancetomovehigh, //指標要移動的偏移量的高32位
dword dwmovemethod //檔案指標移動的初始位置,如圖5-2
);
表5-2dwmovemethod的值值描述
file_begin
開始點為0或者為檔案的開始位置
file_current
開始點為檔案指標的當前位置
file_end
開始點為檔案的結尾位置
2.讀檔案
讀取磁碟指定區域的內容
原型:
bool readfile(
handle hfile, //要讀的檔案的控制代碼
lpvoid lpbuffer, //指向檔案緩衝區的指標
dword nnumberofbytestoread, //從檔案中要讀取的位元組數
lpdword lpnumberofbytesread, //指向從檔案中要讀取的位元組數的指標
);
3.寫檔案
該函式將資料寫入磁碟指定區域
bool readfile(
handle hfile, //要讀的檔案的控制代碼
lpvoid lpbuffer, //指向檔案緩衝區的指標
dword nnumberofbytestowrite, //從檔案中要讀取的位元組數
lpdword lpnumberofbyteswritten, //指向從檔案中要讀取的位元組數的指標
);
在本章實驗十的基礎上,繼續完成該實驗。完成如下功能:
對給定的扇區號讀取該扇區的內容。
深入理解作業系統將裝置當作檔案處理的特性,理解函式setfilepointer()、readfile()及writefile()中每個引數的實際意義並能在本實驗中正確使用。
}應用程式首先顯示軟盤的資訊,然後提示使用者進行選擇「please select read or write! input 『r』 to read,』q』 to quit!」當使用者輸入r表示要讀軟盤後,應用程式提示使用者「please input the sector number to read to:」輸入要讀的磁碟號,當使用者輸入2表示要讀第2個道的內容,應用程式顯示「content:」後分別以字元形式和十六進製制形式顯示軟盤上第2道的內容。
python整理十一 讀寫unicode檔案
對於讀寫unicode檔案,相對比較簡單 如下 coding utf 8 import os import codecs def writefile fn,v ls f codecs.open fn,wb utf 8 for i in v ls f.write i os.linesep f.clos...
多執行緒 十一 讀寫鎖SRWLock
參考自 本篇將介紹一種新方法 讀寫鎖srwlock 來解決這一問題。讀寫鎖在對資源進行保護的同時,還能區分想要讀取資源值的執行緒 讀取者執行緒 和想要更新資源的執行緒 寫入者執行緒 對於讀取者執行緒,讀寫鎖會允許他們併發的執行。當有寫入者執行緒在占有資源時,讀寫鎖會讓其它寫入者執行緒和讀取者執行緒等...
MYSQL資料庫學習筆記十一 讀寫鎖
1.鎖介紹參考部落格 按照鎖的粒度來說,mysql主要包含三種型別 級別 的鎖定機制 全域性鎖 鎖的是整個database。由mysql的sql layer層實現的 表級鎖 鎖的是某個table。由mysql的sql layer層實現的 show open tables 行級鎖 鎖的是某行資料,也可...