【发布时间】:2014-12-21 00:46:09
【问题描述】:
我需要使用 C++ 编写一个程序,该程序能够对随机和顺序硬盘扇区执行数据写入/读取。
但是,实际上我对sector 一词及其与文件的关系感到困惑。
我想知道的是,如果我只是:
1. Create a string contains word "Hello, world" and then;
2. Save the string into "myfile.txt",
数据是按顺序写入还是随机写入?如果它是顺序的(我猜),那么如何将字符串写入随机硬盘扇区然后再次读取?反之亦然。
【问题讨论】:
-
该文件足够小以适合(希望)在单个扇区中...但这不会高度依赖操作系统和驱动程序吗?如在 RAID 0 设置下,连续写入的 2 个扇区最终可能位于不同的磁盘上。
-
这样做会损坏磁盘。您将使机器无法使用。不要那样做。
-
你不能。文件位置和扇区之间没有关系。要写入已知扇区,您需要在计算机上拥有特殊权限并使用特定于操作系统的 API。您将在此过程中破坏磁盘上的数据。
-
真的吗?我没想到这会导致这样的问题。其实这是我的学校作业。也许我需要向我的教授澄清这一点。我不明白给我这个麻烦的任务有什么意义。无论如何,非常感谢您的警告和建议。你真的救了我的 MacBook Pro.. :D
-
@yunhasnawa 如果数据足够大,操作系统会将该数据写入随机扇区。您不必直接写信给他们。
标签: c++ file hard-drive