构建C程序并可以使用有用的手。建立一个数据结构,我可以在其中填写用户信息,如姓名,名字,性别等等,所有这些都进入文本文件。除了一件事之外的一切都运转正常。
主要部分
int main()
{
FILE *fp;
struct info
{
char name[15];
char surename[15];
char gender[10];
char education[15];
} info;
char education1[50];
然后是代码的非重要部分,直到我们达到如果用户如此期望他可以选择仅显示具有例如学士学位的寄存器的点。这是我实现它的目标,但它不起作用。有什么想法吗?
FILE *fp=fopen("info.txt", "a");
while(fp!=NULL && fgets(education1, sizeof(eductaion1),fp)!=NULL)
{
if(strstr(education1,"bachelors"))
fprintf(fp, "\n%s %s %s %s",
sem.name,
sem.surename,
sem.gender,
sem.education,);
if(fp!=NULL) fclose(fp);
}
答案 0 :(得分:2)
您已在append
模式下打开文件,因此无需阅读任何内容。此外,我们不知道文件格式,但您的代码中的假设似乎与将结构写入文件... ...
另外:
fp
将永远不会成为NULL
。所以该文件永远不会被关闭。education1
和eductaion1
?您应该粘贴您的真实代码。