Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++&引用;“永恒”;变量 我需要一个变量,它包含C++中最好的玩家的分数。所以我需要一些在程序结束后不会被删除的东西,每当有人得到更高的分数时,这个变量必须被一个新的替换掉。我知道我可以将该号码保存在.txt文件中,但我想知道是否有其他方法?_C++ - Fatal编程技术网

C++&引用;“永恒”;变量 我需要一个变量,它包含C++中最好的玩家的分数。所以我需要一些在程序结束后不会被删除的东西,每当有人得到更高的分数时,这个变量必须被一个新的替换掉。我知道我可以将该号码保存在.txt文件中,但我想知道是否有其他方法?

C++&引用;“永恒”;变量 我需要一个变量,它包含C++中最好的玩家的分数。所以我需要一些在程序结束后不会被删除的东西,每当有人得到更高的分数时,这个变量必须被一个新的替换掉。我知道我可以将该号码保存在.txt文件中,但我想知道是否有其他方法?,c++,C++,我可以想到三个主要选项: 1.)将其存储在文件中 2.)将其存储在注册表中() 3.)将其存储在在线服务器上,您可以使用类似的方法读取或写入 设置高分将是一个POST请求: $ curl http://api.openkeyval.org/highscore -d "data=1000" $ curl http://api.openkeyval.org/highscore 1000 获得高分是一个GET请求: $ curl http://api.openkeyval.org/highscor

我可以想到三个主要选项: 1.)将其存储在文件中 2.)将其存储在注册表中()
3.)将其存储在在线服务器上,您可以使用类似的方法读取或写入

设置高分将是一个POST请求:

$ curl http://api.openkeyval.org/highscore -d "data=1000"
$ curl http://api.openkeyval.org/highscore
1000
获得高分是一个GET请求:

$ curl http://api.openkeyval.org/highscore -d "data=1000"
$ curl http://api.openkeyval.org/highscore
1000

另一种方法是将其存储在数据库中。这样,您就拥有了数据库的灵活性,无需运行或连接到服务器。

最通用和“可移植”的方法是将其存储在文本文件中。当然,这也有可能被滥用,有人可以在记事本中打开文件,将分数从1234改为999999,或类似

存储在二进制文件中可以,但对机器结构和变量大小很敏感

Windows有一个“注册表”,可以用来存储字符串或二进制数据,类似于文件。但是,如果你决定将你的游戏转移到Linux上,显然是行不通的

如果您想记录所有游戏的所有分数,数据库可能比简单的文件更好。有“本地使用”的数据库,如SQLite或MySql,您可以在自己的机器上运行(MySql也将通过网络运行,可以集中到同一网络上的一组机器上,并用于大量基于web的应用程序)

您可以建立一个(或使用一些现有的)网站,并使用程序驱动的web访问来存储和恢复这些值。或者,您可以将文件存储在FTP服务器上,这与web访问几乎相同,但在配置和设置时会更加“混乱”(并且可能更难通过某些防火墙)。当然,如果你想要一个“全球”的最高分数,每个玩家的个人数据,等等,那么一个基于网络的解决方案可能是正确的选择——但也需要一点安全性来防止有人伪造分数


所有的选择都有其优缺点。你的最佳选择实际上取决于你的比赛最终目标是什么。如果只是“让我们在家里做一个俄罗斯方块小游戏,让我和我的朋友玩”,那么把分数保存在文本文件中可能没什么大不了的。如果你正在寻找下一代魔兽世界或类似的东西,那么基于网络的几乎肯定是唯一的解决方案

文本文件(或其他类型的文件)、注册表、web数据库。这些几乎都是选项。保存号码是关键。你可以把它存到任何你喜欢的地方@克里斯,我想你指的是一个数据库,不仅仅限于网络数据库?什么操作系统?天哪,如果计算机有某种方式,归档信息以备将来使用……我听说一家名为NSA的公司提供免费的在线数据备份……为什么你认为他的平台实际上有一个注册表而没有数据库?:)我认为这个答案不够笼统。它们不指定它们在windows上。在手机、linux、mac、嵌入式系统上呢。为什么服务器必须联机?windows注册表也不受欢迎,每个用户都应该使用应用程序数据目录。现在的分数是33400。递增。。。