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

标签 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 个字符指针。我尝试使用 as 字符串,但失败了。

最佳答案

这个:

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

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

I tried to use as string but i have failed.

所以当有 Shiny 的新 C++ 可用时,不要使用旧的陈旧方法:

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

完成。

使用std::string ,是炸弹。

Live example.

关于c++ - 比较两个指针数组,其中一个来自 .h,另一个来自 cin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41273171/

相关文章:

c++ - 如何删除 QListWidget 中的所有选定项目?

c++ - 命名管道在后台等待客户端,直到客户端连接

c++ - 什么是 gcc Wmaybe-未初始化警告

c++ - 适用于 Linux、OSX 和 Windows 的 2D 游戏编程 - C++/Python/OpenGL?

c++ - 从函数返回变量地址时如何修复 'address of stack memory associated with local variable'?

c - 静态变量的地址是否可以被其他文件访问

c++ - 释放容器成员的内存

c++ - 查找 vector 是否为子 vector C++

c - 如何优雅地将大量方法指针传递给用 C 编写的 DLL?

c - 在 C 中存储整数和通用指针的最便携方法是什么?