所以我必须编写一个函数,从文件中读取并扫描它以查看其中的任何标题是否与用户输入的标题匹配并以标题格式打印所有现有标题:(标题)作者:(姓,名)。如果没有匹配的标题,则打印没有找到的标题。我可以让程序将标题读入一个数组并以我想要的格式打印,但我的问题是搜索文件以找到匹配的标题来打印它们。程序只是打印出没有匹配的标题 5 次当有比赛时......任何帮助将不胜感激......谢谢......
void findBookByTitle(FILE* fp, char title[])
{
FILE* open = fp;
char title2[200];
char last[200];
char first[200];
int i=0;
while(!feof(fp))
{
fscanf(fp, "%[^;];%[^;];%[^\n]", title2, last, first);
if( strcmp(title2,title)==0)
{
printf("Title: %s\n", title2);
printf("Author: %s,%s\n", last,first);
}
else {
printf("No books match the title: %s\n", title);
}
}
}
文本文件说:
Making The Right Choices; Henry; Mark
Time For Change; Robinson; Chris
Battle For Air; Jetson; Lola
The Right Moves; Henry;Mark
People Today; Robinson; Chris
因此,如果用户想要搜索书籍 Time to change 它会打印出 author: time for change 作者:Henry, Mark 但我的功能只是一遍又一遍地打印出没有匹配的书籍......