更新修复
我只想返回数组中唯一条目的数量。该数组包含一个表示 IP 地址的字符串变量。如果有 10 个,但有 3 种不同的类型,我只想返回 3 个。我整天都在做这个,似乎无法找到一个可行的解决方案。我的代码:
原始代码
int getUnique(Visitors info[], string url, string startDate, string endDate){
int count = 0;
string temp;
for(int i = 0 ; i < N ; i++){
if(url == info[i].URL && (dateChecker(startDate, endDate, info[i].dateAccessed))){
}
}
return count;
}
更新代码
int getUnique(Visitors info[], string url, string startDate, string endDate){
set<string> ips;
for(int i = 0 ; i < N ; i++){
if(url == info[i].URL && (dateChecker(startDate, endDate, info[i].dateAccessed))){
ips.insert(info[i].IP);
}
}
return ips.size();
}
第一个 if 检查匹配的 URL 是否确实匹配,并且dateChecker
只是确保特定 IP 转到该 URL 的日期在 2 个传递的日期(startDate
和endDate
)之间。在这些条件下,我如何获得不同 IP 的数量?