所以我在做猜谜游戏来学习一些东西(我是一个初学者),一开始我遇到了一个我不知道怎么做或类似问题的问题,所以我想到了我只是在哪里要求用户提供他的名字和他讨厌的东西,我需要以某种方式将输入更改为数字(二进制以外的任何形式)。
简而言之,我需要一种将输入的文本(字符串)更改为任何整数的方法。
答案 0 :(得分:0)
如果您想使用rng或使用哈希作为其他建议,我建议您看一下“随机”库。
如果要根据输入字符串生成伪随机数,可以执行以下操作:
std::string str = "The Name";
str[index]; // to acces a character
static_cast<int>(str[2]);
现在,根据上面的字符串“ e”,您已经添加了第三个字符。转换为int(记住ASCII值)时恰好是101。
然后可以使用该算法创建一些算法。
答案 1 :(得分:0)
这里是如何使用标准库中已有的哈希函数的示例。
#include <cstdio>
#include <string>
#include <iostream>
#include <functional>
int main() {
std::cout << "Starting Process!" << std::endl;
std::cout << "Enter Name: ";
std::string name;
std::cin >> name;
std::hash<std::string> hash_fn;
size_t str_hash = hash_fn(name);
std::cout << str_hash << '\n';
return 0;
}