【发布时间】:2017-02-28 17:33:35
【问题描述】:
我是 C 新手,我收到了一个 .txt 文件,其中包含如下数据:
- ID 日期时间名称国家
- 43 12/2 01:18 艾米 AB
- 347 12/12 12:30 艾米 BC
- 95 10/1 10:00 鲍勃 AB
- ...
姓名将仅与 Amy/Bob/Cathy 相同,并且
国家/地区将仅等于 AB/BC/BD/DE
我需要读取文件并做以下事情:
示例 1,我需要在 .txt 文件中搜索 country = AB 的 Amy,并计算有多少数据满足这种情况
示例 2,使用 country = DE 搜索 Amy 并计数
我不知道如何同时检查姓名和国家,这是我的代码:
#include <stdio.h>
#include <string.h>
int main(){
int i;
char s[10];
while(scanf("%s", s)==1){
if (strcmp(s,"Amy")==0){
if (strcmp(s,"AB")==0){
++i;
}
}
}
我认为第二个 if 不应该使用 s 与 "AB" 进行比较,但我该怎么办? 请帮忙,谢谢!
【问题讨论】:
-
C 不是 C++。不要垃圾标签
-
可以分享一下.txt文件的sn-p吗?
-
strcmp(s, ...不能是== 0同时带有“Amy”和“AB” -
您可以将带有子字符串
"Amy AB"的strstr应用于使用fgets读取的整行。