将文本(单词)转换为整数

时间:2019-02-11 18:53:28

标签: c++

所以我在做猜谜游戏来学习一些东西(我是一个初学者),一开始我遇到了一个我不知道怎么做或类似问题的问题,所以我想到了我只是在哪里要求用户提供他的名字和他讨厌的东西,我需要以某种方式将输入更改为数字(二进制​​以外的任何形式)。

简而言之,我需要一种将输入的文本(字符串)更改为任何整数的方法。

2 个答案:

答案 0 :(得分:0)

如果您想使用rng或使用哈希作为其他建议,我建议您看一下“随机”库。

如果要根据输入字符串生成伪随机数,可以执行以下操作:

  1. 要添加字符,可以使用[]运算符,如下所示:
    std::string str = "The Name";
    str[index]; // to acces a character
  1. 将字符转换为整数以使用它们。请记住,每个字符都有一个ASCII值,因此您可以执行以下操作:
    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;
}