二次元配列の比較で困っています。ユーザーにユーザー名とパスワードを要求し、入力を事前定義されたユーザー名のリストと比較する疑似ログイン システムを作成する必要があります。
この関数では、定義済みのユーザー名は で表され、*s
ユーザー入力は*s1
です。コンパイルしようとすると、この厄介なトラブルメーカーが表示されます。
68 D:\Personal\Dev-Cpp\projects\loginSysTest\main.cpp
char' to
constからの無効な変換
strncmp
ステートメントの機能についてif
。
これはコードです:
#define nameLenght 30
#define User 10
char usernames[User][User] = {{"student"}, {"admin"}, {"Deus Ex Machina"}};
//=====================================================================
int main(int argc, char *argv[])
{
char usernameInput[nameLenght + 1] = {0};
gets(usernameInput);
int login = compS(*usernames, usernameInput);
if(login == 0)
printf("Access Granted! \n");
else
printf("Access Denied!");
system("PAUSE");
return 0;
}
//=====================================================================
int compS(char *s, char *s1)
{
for(int k = 0 ;k < nameLenght; k++)
{
if(strncmp(s[k], s1, strlen(s1)) == 0)
return 1;
}
}
前もって感謝します。