掌中招聘网 » 掌中论坛 » C/C++ » 操作文件时遇到的问题!
首页 上一页 下一页 尾页 
 
 本页主题: 操作文件时遇到的问题!
 


sxysoft

积分:132
发表主题:17




 发表于 2008-06-23 22:58 资料
楼主


C/C++ code
void input_memo() /* 输入信息,公共接口。 */
{
struct memo m;
clrscr();
fflush(stdin);
printf(" Memname: ");
gets(m.name);
printf(" Memtime: ");
gets(m.event_date);
printf(" Memtext: ");
gets(m.context);
printf(" Memremindtime: ");
gets(m.remind_date);

insert_memo(&m);
}

void insert_memo(struct memo *m) /* 私有接口,用于访问文件,输入信息。 */
{
FILE *fp;

fp=fopen("memo.dat","at+")
fwrite(m,sizeof(struct memo), 1, fp);
fclose(fp);
}

int makename() /* 通过名字查询 */
{
int flag=1;
FILE *fp;
struct memo qq;
char a[50];
clrscr();
if((fp=fopen("memo.dat","rt"))==NULL)
{
printf("No anydate!");
return 0;
}

printf("Please input memname: ");
fflush(stdin);
scanf("%s",a);
printf("\n");


do{

fread(&qq,sizeof(struct memo),1,fp);
if(strnicmp(a,qq.name)==0) //比较一致即输出
{
printf("\nName: %s\nTime: %s\nText: %s\nRemind: %s\n\n",qq.name,qq.event_date,qq.context,qq.remind_date);
flag=0;
}
}while(feof(fp)==0) ;
if(flag!=0)
{
printf("No matching date!!\n");
printf("\n");

}
printf("\nInput anykey back!\n");
getch();
fclose(fp);
return 1;
}
问题是这样的,我运行时共输入两个两次信息,一个名字是BEN 一个是MANDY,之后我用名字来查询刚记录的信息时我输入查询名字BEN可以找到对应结果,但我输入MANDY时就找不到对应信息数据了。
我找了好久都不知道问题在哪,我想应该是读取那出问题了吧```但我原来的代码是没有什么问题的,但今天加了点界面美化的工作后就出了这问题了,不过我肯定问题不在这些后面加的代码上!
希望大家帮我找找问题出在哪呀。。。



首页 上一页 下一页 尾页