所以我注意到当我想为我的程序编写外部数据时我必须使用并将我想要的数据插入到记事本中。我想知道的是,我想要写一个我的用户无法编辑的文件,比如一个可以保存分数的文件,以及我不希望玩家能够手动编辑的游戏。这样的事情可以通过c ++标准库单独实现,还是需要其他一些库?我理解一些程序可能能够阅读它,但我更倾向于让人们只需看着记事本即可阅读它。
答案 0 :(得分:1)
您说您只是想阻止人们轻松使用notepad.exe来查看和编辑文件内容。这可以通过将数据写为二进制而不是文本来完成:
std::ofstream out("score.dat", std::ios::binary);
std::uint32_t score = 12000;
out.write(reinterpret_cast<char*>(&score), sizeof score);
但是,用户使用十六进制编辑器查看和修改数据仍然是微不足道的。
你可以通过首先加密数据来使它需要更多的工作,但鉴于程序必须具有读取和写入文件所需的所有信息,它仍然很容易解决。