2016-02-04 95 views
-3

我不知道如何去做这个......绝对没有。虚拟主机白名单(C++)

这里就是我的目标:

现在,我有一个非常简单的登录白名单。这里的代码:

string username; 
cout << "Username: "; 
cin >> username 
if (username == "test" or "username" or "whitelist") { 
// my code 
} 

这样的作品,但我不断更新它,我宁愿将用户名保留在虚拟主机上。

很抱歉,如果我做了上面的代码错了,我很新的C++和只是想在一个时间来学习一些东西。

谢谢!

+0

首先,用人类语言(伪代码)进行描述。然后,将其转换为C++。它不清楚你想要什么,也不清楚上述是如何工作的。 –

+0

也许您应该将白名单放入文本文件中,并在验证过程中解析该文件。或者你可能更喜欢使用数据库,但是这个更复杂。 – neodelphi

+1

“这是它的工作原理” - 你确定它开始工作吗?该字符串比较行看起来肯定是有的。我敢打赌,它会为你输入的所有**文本返回“真”。 – usr2564301

回答

0

顺便说一句,在语法修正:

if ((username == "test") or (username == "username) or (username == "whitelist")) 

有了这样的方式......

基本上你正在寻找一个给定的串串的容器。容器的选择是你的,但少数包括:std::vector,std::liststd::set

我建议你初始化你的“白名单”的容器,然后搜索容器。使用排序后的容器,您可以使用更高效的搜索功能,例如binary_searchlower_bound

你可能要考虑使用一个数据库。

+0

好的,这是我想要做的。 我在Dropbox的一个记事本文件,我想使它这样我可以在用户名和密码进入其进入,让他们有一个特定 示例文本文件登录: 测试 测试 用户名 密码 – Obfuscated