C++ 如何将字符串与结构(也包括字符串)进行比较?

C++ 如何将字符串与结构(也包括字符串)进行比较?,c++,C++,所以我在做我的项目,我有问题 这是我的结构: struct adminst { string usernameadmin; int passwordadmin; 它的另一个功能是: void adminlogin() { string username, password; adminst Username[100]; cout << "Please enter your username"; cin >> username; ifstream admin("admin

所以我在做我的项目,我有问题

这是我的结构:

struct adminst {
string usernameadmin;
int passwordadmin;
它的另一个功能是:

void adminlogin() {
string username, password;
adminst Username[100];
cout << "Please enter your username";
cin >> username;
ifstream admin("adminha.txt");
for (int i = 1; i < 100; i++) {
    admin >> Username[i].usernameadmin;
    if ((Username[i].compare(username)) < 0)
}
但是没有得到任何答案。
如果您修复我的代码,我会很高兴。

我认为您应该在结构中比较字符串

Username[i].usernameadmin == username
这将比较
stringusername
stringusernameadmin

<> >代码> >代码>运算符,可以用来比较C++中的字符串,这是因为重载。

您仍然可以使用
。也可以比较

Username[i].usernameadmin.compare(username)

Tnx,但不起作用!我得到了这个错误:没有合适的从“std::string”到const*“exsistsoops的转换函数。你能尝试在每个字符串的末尾添加
.c_str()
吗?例如
username.c_str()
,如果错误发生在上面的代码段中?哦,我的天啊!!它成功了!非常感谢!我已经做了3个小时了!但是我不知道它是什么。c_str()!你能给我解释一下吗?在使用
=
的情况下,将
.c_str()
添加到这两个代码中会给出错误的行为。
.compare()
案例也应该失败,因为
const char*
没有成员函数。您将字符串读入
Username[i]。usernameadmin
,但您尝试与
Username[i]
进行比较。当然,您需要与读入的内容进行比较。
Username[i].usernameadmin.compare(username)