是否可以将Char *与字符串变量进行比较?

时间:2016-11-02 05:04:43

标签: c++

对于我们在学校的任务,我们必须将230万个密码存储到动态字符中。我必须针对所有这些密码检查用户的密码,以确保它不在列表中。

如果用户的密码在列表中,则他们的密码就会失去一个点。

我试过这个:

int i = 1, maxSize = 2300000, passwordList = 1;

char* passCommon = NULL;
passCommon = new char[mazSize];

string password = "JohnDoe";     // Use this for example.

for (i=0; i > maxSize; i++)
{ 
  if(password == passCommon[i])
  {
    passwordList = 0;
    break;
  }
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

首先,您动态创建一个老式的字符串:

passCommon = new char[mazSize];

一串,不多。如果要创建零字符串数组,则应使用:

char **passCommon = nullptr;

注意两个星号,不仅仅是一个。星号应该靠近识别器。然后你应该动态创建一个char *数组(指向char数组的指针)。然后你应该循环througn这个数组,并在每次迭代时动态创建一个分配给指针的char数组。

答案 1 :(得分:0)

对不起,我的英语很差,但我希望我能为你做一些有用的事情。 我认为你可以在字符串容器中存储230万个密码(例如vector),你可以比较它们:password == passCommon[i]