我需要使用C ++编写一个程序,它能够对随机和顺序硬盘扇区执行数据写入/读取。
然而,实际上我对术语sector
及其与文件的关系感到困惑。
我想知道的是,如果我只是:
1. Create a string contains word "Hello, world" and then;
2. Save the string into "myfile.txt",
数据写入顺序或随机扇区吗?如果它是顺序的(我猜),那么如何将字符串写入随机硬盘扇区然后再读取它?反之亦然。
答案 0 :(得分:3)
由于文件系统的原因,您今天要做的事情几乎是不可能的。如果你想要一个文件(你似乎),你需要一个文件系统。然后,文件系统将数据以其想要的某种格式放置在它认为最佳的扇区中。高级文件系统(如btrfs和zfs)也可以对多个硬盘进行压缩,校验和和放置数据。所以你不能只写一个扇区,因为你可能会破坏数据,因为你的文件系统不能理解你的数据格式,所以你不能再读它了。它甚至不知道那里有数据,因为文件必须在MFT / btrfs metadata / ...表中注册。
TL; DR 不要尝试这样做,它会弄乱您的系统,它将无法正常工作。