我搜索了很多,但找不到处理以下情况的最佳方法。
我有一个这样格式化的字符串数组:
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;
}
}
这不太正确,因为如果用户名 if Bobby
, thenby
将返回 true...