C 如何打开磁盘以写入Windows中的最后一个扇区?

C 如何打开磁盘以写入Windows中的最后一个扇区?,c,windows,C,Windows,我正试图打开一个磁盘并写入最后一个扇区。在Linux上,代码如下所示: char data[] = "end of disk"; FILE *fp; fp = fopen("/dev/sda", "w"); fseek(fp, -4096, SEEK_END); fwrite((void*) data, 1, sizeof(data), fp); fclose(fp); 我尝试在windows上使用此选项: char data[] = "end of disk"; FILE *fp; fp =

我正试图打开一个磁盘并写入最后一个扇区。在Linux上,代码如下所示:

char data[] = "end of disk";
FILE *fp;
fp = fopen("/dev/sda", "w");
fseek(fp, -4096, SEEK_END);
fwrite((void*) data, 1, sizeof(data), fp);
fclose(fp);
我尝试在windows上使用此选项:

char data[] = "end of disk";
FILE *fp;
fp = fopen("\\\\.\\PHYSICALDRIVE0", "w");
fseek(fp, -4096, SEEK_END);
fwrite((void*) data, 1, sizeof(data), fp);
fclose(fp);

但是,这似乎在
fopen()
上失败。如何打开磁盘以写入Windows中的最后一个扇区?

无论您使用的是
“wb”
还是
“w”
。您是否以管理员/提升权限的身份尝试过?您也不想截断磁盘…是的,请先尝试从磁盘读取。。。并进行备份您可能不想将stdio用于磁盘访问,也可能是“权限被拒绝”,请检查
errno
。无论您使用什么
“wb”
,而不是
“w”
。您是否以管理员/提升权限的身份尝试过?您也不想截断磁盘…是的,请先尝试从磁盘读取。。。并进行备份您可能不想将stdio用于磁盘访问,也可能是“权限被拒绝”,请检查
errno