Эй, ребята, работая над кодом здесь, и я как бы проиграл.Поиск строки в txt-файле и отображение строки
int main()
{
FILE *fp;
struct info
{
char name[15];
char surename[15];
char gender[15];
char education[15];
} info;
char c;
int i, j, a;
struct info sem;
beginning:
scanf("%d", &a);
if(a==1)
{
fp = fopen("info.txt", "r");
for(i=0;!feof(fp);i++)
{ fscanf(fp, "%s %s %s %s",
sem.name,
sem.surname,
sem.gender,
sem.education,);
printf("%s, %s, %s, %s\n",
sem.name,
sem.surname,
sem.gender,
sem.education,);
}
fclose(fp);
goto beginning;
}
if (a == 2)
{
FILE *fp = fopen("info.txt", "r");
char tmp[256] = { 0x0 };
while (fp != NULL && fgets(tmp, sizeof(tmp), fp) != NULL)
{
if (strstr(tmp, "bachelors"))
/* Code works fine until this part */
fprintf(fp, "\n%s %s %s %s %s %s",
sem.name, sem.surname, sem.gender, sem.education,);
}
if (fp != NULL)
fclose(fp);
goto beginning;
}
После нахождения строки «холостяк» он должен PRINTF остальную часть строки, где он нашел его, в этом случае имя, фамилия и т.д. и т.п. от пользователя найден со степенью бакалавра, но это не делает, если кто-то может указать на моя ошибка, id будет очень большой!
Похоже, что вы не присваиваете слово 'sem', но вы печатаете членов' sem', ожидая, что он что-то будет содержать. – lurker
Нет, не страшный 'goto'! –
Извините, что забыл добавить эту часть кода также – user3043290