我下面有一个文本文件。我想阅读每一行并搜索名称Bob
。如果找到,我想返回整行(例如Bob male 45
)。另外,我想阅读每一行并搜索术语male
。如果找到,则删除这些行(例如,删除Bob male 45
和Time male 35
)。
Bob male 45
Susan female 40
Tim male 35
您可以使用fgets
读取输入文件的每一行,然后使用sscanf
来读取此行的每个值。然后,使用strcmp
在两个字符串(name
或sex
)之间进行比较。
例如:
char name[256], sex[7];
int age;
char line[256];
FILE *fp = fopen("input.txt", "r");
if(!fp) {
// handle the error
}
while(fgets(line, sizeof(line), fp) {
int num = sscanf("%s %s %d\n", name, sex, &age);
if(num != 3) {
// handle the error
}
if (strcmp(name, "Bob") == 0) {
// Do smth you want
}
if (strcmp(sex, "male") == 0) {
// Do sth you want
}
}