私はたくさん検索しましたが、次の状況にアプローチするための最良の方法を見つけることができませんでした.
このようにフォーマットされた文字列の配列があります:
username, password, usertype
例えば、
joseph, secret, user
(配列は最初にファイルからロードされます)。
ユーザー入力 (username
およびpassword
のみ) を取得し、配列内のすべての文字列と比較して、一致するかどうかを確認したいと思います。
例
user input - (username) joseph (password) secret
-> matches joseph, secret, user
部分文字列と strtok を使用してみました... C でこの問題にアプローチする標準的な方法はありますか?
strstr の使用
/* Search users */
for (i = 0; i < n_users; i++) {
if(strstr(users[i], username) != NULL) {
printf("\t! Found user at %d\n", i);
break;
}
}
ユーザー名が の場合Bobby
、by
true が返されるため、これは正しくありません...