我有一个结构数组,结构中的一个元素是一个字符串,我需要将这些字符串与12个字符串数组中的其他字符串进行比较。 strcmp似乎对我不起作用。我知道我需要制作单独的函数来比较字符串并将值作为bool返回,但是无法弄清楚如何使比较函数工作。
结构
typedef struct{
char *hometeam[Max_number_of_chars], *awayteam[Max_number_of_chars];
int playround, date_day, date_month, date_year,
time_hour, time_minute, home_score, away_score, crowd_thousand,
crowd_hundred;
} match;
字符串数组
char *teams[Number_of_teams] = {"AGF","AAB","SDR","RFC",
"EFB","BIF","SIF","OB",
"FCK","FCM", "ACH","FCN"};
我需要compare_function的行
if(compare_names(all_games[i].hometeam, teams[j])==0) {//crazy stuff}
编辑:我需要帮助的是制作将* teams [j]的字符串值与all_games [i] .hometeam中的字符串值进行比较的函数。但我不知道如何将struct all_games [i] .hometeam的特定部分传递给compare_function,我希望它是一个char字符串。
答案 0 :(得分:0)
// Assuming char *teams[Number_of_teams] is globally defined.
int find_match(struct match)
{
for(i=0; i < Number_of_teams; i++){
if(strcmpi(match.hometeam, teams[i]) == 0){
return i;
}
}
return -1;
}
您想要做的事情的逻辑流程尚不清楚,但您可以尝试上述内容。