У меня есть текстовый файл, и я хочу изменить параметр часа для каждого человека. у каждого человека есть отдельная строка текстового файла
5055022 Tony_Curtis Chef 125 1
606603 Jini_Carrey Chef 80 0
мой код работает, но только для первый человек в списке. кто-нибудь знает в чем причина?
void Change(char* adding, char* employ)
{
FILE* f;
char name[200], job[200],str[200],id[9];
int experience, hours,extra,len=0;
f = fopen(employ, "rt+");
assert(f);
//while (!feof(f))
int i = 0;
while(i<5)
{
i++;
fscanf(f, "%s %s %s %d %d", id, name, job, &hours, &experience);
extra = Get_addHours(adding, experience);
len = ftell(f);
fseek(f, -len, SEEK_CUR);
hours = hours + extra;
fprintf(f, "%s %s %s %d %d\n", id, name, job, hours, experience);
printf("%d",ftell(f));
}
fclose(f);
}
int Get_addHours(char* adding, int experience)
{
FILE* p;
p= fopen(adding, "rt");
assert(p);
int years, hours;
while (!feof(p))
{
fscanf(p, "%d %d", &years, &hours);
if (experience ==years)
{
fclose(p);
return hours;
}
}
fclose(p);
return 0;
}