![](/img/trans.png)
[英]how to read a linux etc/passwd file and compare the user input name for authentication in C
[英]how to take full name from a file and compare it with what user search for?
所以在这里我得到了一个 function 扫描具有单个名称的文件和类似“andy 12345678”的电话号码,当用户搜索名称 andy 时,它会找到它和 printf 答案,现在我希望它更多复杂的可以说文件有一个全名和他们的编号像这样“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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.