基本的にfdiskvdisk'p'コマンドと同じように機能する独自のCプログラムを作成しようとしています。ディスクの最初の512バイトを読み取って、(0x1BE)のパーティションの先頭を調べてから、パーティションのタイプ、名前、サイズなどを読み取れるようにしたいだけです。これらの値を実際に読み取る方法がわかりません。read()linux関数を使用して512バイトを読み取りましたが、何らかの方法でそれらを表示/表示しようとすると、何も表示されません。私は何が間違っているのですか?
int main(int argc, char *argv[]) {
int bytes_read;
char mbr[512];
int file;
if(argc == 1) {
// Print some help info
printf ("Here is some help info: \n\n");
} else if(argc < 3) {
printf("File: %s\n\n", argv[1]);
file = open(argv[1], O_RDONLY);
lseek(bytes_read, 0, 0);
//First get the MBR
bytes_read = read(file, mbr, 512);
printf("MBR=%s\n\nbytes_read=%d\n\n", mbr, bytes_read);
} else {
printf ("Incorrect usage: fdisk <disk>\n\n");
}
}