比较两个指针数组其中一个来自.h,其中一个来自cin

时间:2016-12-21 22:44:04

标签: c++ pointers

我是新手。 我有一个学校项目,有一个头文件,它有82个用户名。像

char *usernames[] ={a1,a2,a3,.... a82};
char *passwords[] =[p1,p2,...p82);

我已经完成了大量的项目,但仍然无法为登录阶段编写有用的代码。 我的代码必须采取用户名,然后要求输入密码。 在这个阶段,我基本上认为这个循环:

char *usernamecheck;
char *passwordcheck;
cout<<"Please login. \n Username\n ";
cin >> usernamecheck ;
for(int flag=0;flag<82;flag++)
{
  if(usernamecheck==usernames[a]){
    passwordcheck==password[a];
  }
  else {
  }
}
cout<<"Please enter your password\n";
....

然后我将比较用户和头文件中的密码。 我想问一下,我们当然没有看到这一点。我不知道如何比较2个char指针。我尝试使用字符串,但我失败了。

1 个答案:

答案 0 :(得分:1)

此:

char *usernamecheck;
...
cin >> usernamecheck ;

将是未定义的行为。没有与usernamecheck关联的内存。你说:

  

我尝试使用字符串,但我失败了。

所以当有新的c ++可用时,不要使用旧的古老的方法:

std::string usernamecheck;
...
cin >> usernamecheck;
bool isUser = usernamecheck == username;

完成。

使用std::string,它的炸弹。

Live example.