关于如何创建一个文件只有我的程序可读的任何想法
Any ideas on how to create a file only readable by my program?
所以我注意到当我想为我的程序编写外部数据时,我必须使用它,并且将我想要的数据插入到记事本中。我想知道的是,假设我想写入一个用户无法编辑的文件,比如一个保存分数的文件,或者我不希望玩家能够手动编辑的游戏。这样的事情仅仅通过c++标准库就可以实现吗,或者我需要其他的库吗?我知道有些程序可能可以读取它,但我更倾向于人们是否可以通过简单地查看记事本来读取它。
您说您只是想防止人们轻松使用notepad.exe查看和编辑文件内容。这可以通过将数据写入二进制而不是文本来实现:
std::ofstream out("score.dat", std::ios::binary);
std::uint32_t score = 12000;
out.write(reinterpret_cast<char*>(&score), sizeof score);
但是对于用户来说,使用十六进制编辑器查看和修改数据仍然是微不足道的。
您可以通过先加密数据使它需要更多的工作,但是考虑到程序必须拥有读写文件所需的所有信息,这仍然很容易绕过。
相关文章:
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 为什么我的 IExtractIcon 处理程序没有被调用?
- 为什么我的程序在for循环中k=0时返回垃圾值
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 我的程序没有从文件中读取并输入数据
- 我的评分程序无法正常工作
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 反向功能超出了我的 cpp 程序的范围
- 我的二进制搜索程序只是关闭了
- 为什么我的程序不能显示斐波那契级数?
- 为什么我的程序在使用预留后没有加速?
- 为什么如果我添加这一行,我的程序会不断询问值
- 为什么当我输入较大的数字时,我的程序会到达文件末尾?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- C++机器人程序(我的私人服务器)出现问题
- 用C++创建一个写作应用程序(我的第一个项目)(学习C++)