C ++将数据写入随机HDD扇区

时间:2014-10-25 08:09:56

标签: c++ file hard-drive

我需要使用C ++编写一个程序,它能够对随机和顺序硬盘扇区执行数据写入/读取。

然而,实际上我对术语sector及其与文件的关系感到困惑。

我想知道的是,如果我只是:

1. Create a string contains word "Hello, world" and then;
2. Save the string into "myfile.txt", 

数据写入顺序或随机扇区吗?如果它是顺序的(我猜),那么如何将字符串写入随机硬盘扇区然后再读取它?反之亦然。

1 个答案:

答案 0 :(得分:3)

由于文件系统的原因,您今天要做的事情几乎是不可能的。如果你想要一个文件(你似乎),你需要一个文件系统。然后,文件系统将数据以其想要的某种格式放置在它认为最佳的扇区中。高级文件系统(如btrfs和zfs)也可以对多个硬盘进行压缩,校验和和放置数据。所以你不能只写一个扇区,因为你可能会破坏数据,因为你的文件系统不能理解你的数据格式,所以你不能再读它了。它甚至不知道那里有数据,因为文件必须在MFT / btrfs metadata / ...表中注册。

TL; DR 不要尝试这样做,它会弄乱您的系统,它将无法正常工作。