PDA

View Full Version : استفاده از فلاپی در C++



DataMaster
چهارشنبه 19 دی 1386, 17:53 عصر
سلام
با عرض معذرت از دوستان ، چون من C زیاد بلد نیستم ، یک قطعه کد دارم که بر روی سکتور صفر یک بوت لودر رو مینویسه ولی این کد برای لینوکس هست و معادل اون رو در داس نمی دونم. لطف کنید و دستوراتی رو که نیاز به تغییر هست رو بنویسید.
ممنون



#include <sys/types.h> /* unistd.h needs this */
#include <unistd.h> /* contains read/write */
#include <fcntl.h>
int main()
{
char boot_buf[512];
/* تعریف یک بافر 512 بایتی*/
int floppy_desc, file_desc;
/*متغیر های فلاپی مقصد و فایل مقصد*/
file_desc = open("./bsect", O_RDONLY);
/* به صورت فقط خواندنیbsectبازکرد ن فایل*/
read(file_desc, boot_buf, 510);
/*خواندن 510 بایت اول فایل*/
close(file_desc);
boot_buf[510] = 0x55;
boot_buf[511] = 0xaa;
floppy_desc = open("/dev/fd0", O_RDWR);
lseek(floppy_desc, 0, SEEK_SET);
/*رفتن به ابتدای سکتور صفر فلاپی*/
write(floppy_desc, boot_buf, 512);
file_desc = open("./sect2", O_RDONLY);
read(file_desc, boot_buf, 512);
close(file_desc);
lseek(floppy_desc, 512, SEEK_SET);
write(floppy_desc, boot_buf, 512);
close(floppy_desc);
}