hsnm8869
دوشنبه 03 خرداد 1389, 16:31 عصر
در برنامه ي زير اطلاعات چندين كاربر (در هر بار اجرا 1 كاربر)را مي خواند و در ادامه ي فايل ذخيره مي كند
چرا در هنگام خواندي فايل كاربر آخر را دوبار مي خواند
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
struct user{
char name[20];
char id[10];
};
int main()
{
FILE *p;
if((p=fopen("g://employe4.txt","at"))==NULL)
{
printf("not acce");
getch();
exit( 0);
}
struct user etelaat,a;
printf("enter name:");
gets(etelaat.name);
printf("enter id:");
gets(etelaat.id);
fwrite(&etelaat,sizeof(struct user),1,p);
fclose(p);
if((p=fopen("g://employe4.txt","r+"))==NULL)
{
printf("not acce");
getch();
exit( 0);
}
rewind(p);
while(!feof(p))
{
fread(&a,sizeof(struct user),1,p);
printf("\nname users:\n%s\n",a.name);
}
getch();
return 0;
}
چرا در هنگام خواندي فايل كاربر آخر را دوبار مي خواند
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
struct user{
char name[20];
char id[10];
};
int main()
{
FILE *p;
if((p=fopen("g://employe4.txt","at"))==NULL)
{
printf("not acce");
getch();
exit( 0);
}
struct user etelaat,a;
printf("enter name:");
gets(etelaat.name);
printf("enter id:");
gets(etelaat.id);
fwrite(&etelaat,sizeof(struct user),1,p);
fclose(p);
if((p=fopen("g://employe4.txt","r+"))==NULL)
{
printf("not acce");
getch();
exit( 0);
}
rewind(p);
while(!feof(p))
{
fread(&a,sizeof(struct user),1,p);
printf("\nname users:\n%s\n",a.name);
}
getch();
return 0;
}