c - 如何从文件中获取全名并将其与用户搜索的内容进行比较?
问题描述
所以在这里我有一个功能可以扫描具有单个名称的文件和电话号码,例如“andy 12345678”,当用户搜索名称 andy 时,它会找到它并打印答案,现在我希望它更多复杂的可以说文件有一个全名和他们的编号像这样“andy bob mike 12345678”现在当我使用代码时它会打印“andy bob”因为它fscan前两个名字“andy”和“bob”所以我怎么能更改它可以单独扫描全名的代码,并将其与搜索的用途进行比较并打印带有数字的全名注意全名可以像“andy bob”或“andy bob mike”或“andy”一样数字
void SearchPhoneBook()
{
FILE *ph;
ph = fopen("C:/Users/ec/Desktop/PhoneBook.txt", "r");
printf("Enter the name you want to search for\n");
char temp;
char name[50];
char Mobile[50];
scanf("%c", &temp);
char Search[20];
scanf("%s", Search);
while (fscanf(ph, "%s %s", name, Mobile) != EOF)
{
if (strcmp(name, Search) == 0)
{
printf("%s ", name);
printf("%s", Mobile);
}
}
MainMenu();
}
解决方案
在这种情况下,您可以使用通配符并name
在找到某个数字时停止扫描
char name[100];
char mobile[50];
fscanf(ph, "%99[^0123456789] %49s", name, mobile);
推荐阅读
- google-api - 如何获取 googleapi-nodejs-client 的正确参数
- java - Docx4j:在从 docx 生成的 html 中嵌入图像
- security - 如何在 Symfony 4 中配置 http_basic 防火墙以在身份验证失败时在响应正文中返回 JSON?
- python - 如何正确将 tflite_graph.pb 转换为 detect.tflite
- javascript - 正则表达式 | 应用函数式编程将字符串转换为 URL Slug
- java - JAVA中根据方法和类访问自定义注解字段
- ios - 从邮件客户端打开已安装的 PWA
- python - 如何让我的输入选择单词而不是字母?(Python)
- c++ - 使用 unique_ptr 创建对象
- c# - 在 ASP .NET Core 3.1 中调用 LoggerExtensions 方法时禁用/关闭 FxCop CA1303