gpt4 book ai didi

c - C语言中如何查找字符串

转载 作者:行者123 更新时间:2023-11-30 17:39:26 25 4
gpt4 key购买 nike

我正在用C语言开发一个学生管理系统,但我似乎无法完成搜索功能。写入文件工作正常,但按名称搜索不起作用。当我输入名称并且程序退出时没有任何反应。

这是迄今为止我的代码:

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

struct student {
int id;
char name[10];
int semester;
};

int main(void) {
char name[10], c[100];
struct student s;
FILE *fp;
int choice;

printf("Enter 1 to Add record\nEnter 2 to Search \n");
scanf("%d", &choice);

switch(choice) {
case 1:
fp = fopen("std.txt", "a");
printf("\nEnter id: ");
scanf("%d", &s.id);
fflush(stdin);
printf("\nEnter name: ");
scanf("%s", &s.name);
fflush(stdin);
printf("\nEnter semester: ");
scanf("%d", &s.semester);
fflush(stdin);

fprintf(fp, "\nId: %d\tName: %s\tSemester: %d\n", s.id,s.name,s.semester);
fclose(fp);
break;

case 2:
fp=fopen("std.txt","r");
printf("ENTER THE NAME ");
scanf("%s",&name);
while(feof(fp)) {
if(strcmp(name, s.name) == 0) {
printf("\n\t%d\t %s\t %d", s.id, s.name, s.semester);
getch();
break;
}
}
fclose(fp);
getch();
break;

case 3:
exit(1);
}
getchar();
}

最佳答案

您实际上并没有将这一行读入学生结构中。您可能打算 fgetsscanf 文件中的每一行并将其加载到 struct Student 中。

关于c - C语言中如何查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com