c - 搜索功能打印我找到的行的下一行! c 编程

标签 c file struct strcmp

我有方法添加,效果很好,我也有方法 View ,它的工作 在这个方法中

void search(){


 FILE* fr;
fr=fopen("record.txt","r");
Record r;
char na[10];
 printf(" Enter the name:... ");
    scanf("%s",na);

while(fread(&r,sizeof(r),1,fr)){
if(strcmp(na,r.name))
printf(" A match has been found ... ");
printf("%s %s %s \n",r.name,r.email,r.phoneNum);
}
fclose(fr);}`

不知道怎么了! 我有一个结构,里面有一个名称数组 我要求用户输入名称,然后将其写入文件中 如果我搜索特定名称 该方法打印确切名称的下一个名称!

我该怎么办?

***Record 是一个结构体,但我使用 typedef 来重命名

最佳答案

if 括号内没有 printf("%s %s %s\n",r.name,r.email,r.phoneNum);,所以它会发生显示每个名称,而不仅仅是匹配的名称。

此外,如果匹配,strcmp 将返回 0,因此当前 printf("A match has been found ... "); 在未找到匹配时执行。

关于c - 搜索功能打印我找到的行的下一行! c 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53327719/

相关文章:

c - C 中的结构序列化并通过 MPI 传输

java - 缓冲与非缓冲,使用哪一个?

c - 6.5.2.3 结构和 union 成员中 C 中严格别名规则的异常(exception)

python - 使用 SWIG 在 Python 和 C 之间传递结构

c - 我需要在 fedora 操作系统中的 I2c 上发送原始数据缓冲区

c - 如何排除 'for' 内的数字

c 链接器标志及其文档

c - fread() 不起作用,但 fwrite() 起作用?

javascript - 如何在 Angular 6 中导入 JS 文件?

C++ vector 和结构指针