C 如何打开磁盘以写入Windows中的最后一个扇区?
我正试图打开一个磁盘并写入最后一个扇区。在Linux上,代码如下所示: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 =
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
。