私達を貯えられるこの情報をあらゆるファイルのデータルートディレクトリ情報の助けによって1.44Mbで、フロッピー・ディスク3つの½のインチを拭くために試みることを許可しなさい。 フロッピー・ディスクのデータが分解しないと仮定する、次のワイプにデータ域からの指定ファイルのデータがあるプログラム:
/* フロッピー・ディスクの指定ファイルのデータ域を拭くプログラム */
#include<stdio.h>
#include<dos.h>
///// ルートディレクトリのファイル記入項目の32バイトを読む構造 \\\\\
struct root
{
unsigned char filename[8]; /* 8バイトのファイルネームエントリー */
unsigned char extension[3]; /*3バイトのファイルの延長 */
unsigned char attribute; /* ファイル属性バイト */
unsigned char reserved[10]; /* 予約バイト10 */
unsigned int time; /*時間、2バイト*/
unsigned int date; /* 日付、2バイト */
unsigned int starting_cluster;/* ファイルの集りの開始、2バイト */
unsigned long file_size; /* バイト、4バイトのファイルサイズ*/
};
/* すべてのルートディレクトリの記入項目を読むこれを取られるべきである */
//struct root entry[224];
/* ルートディレクトリの1つのセクターのすべての16のファイル記入項目を読む構造 */
struct one_root_sector
{
struct root entry[16];
};
struct one_root_sector one;
void main()
{
int result, i, num_sectors,j;
char wipe_buf[512]; /* ファイルのデータ域を一掃するのに使用されるべきデータバッファ */
clrscr();
result= absread(0x00, 1, 19, &one); /* 絶対セクター19を読みなさい(ルートディレクトリの最初セクター) */
if (result != 0)
{
perror("Error in Reading Sector, Press any key to
Exit...");
getch();
exit(1);
}
|