Finalmente por si alguien tiene la misma duda lo solucioné asi:
Lo que sí la frase introducida es igual que la frase almacenada en el fichero, se imprime esa linea por pantalla y se le suma uno a contador. Luego se acaba el bucle, y vuelve a empezar y por lo tanto se hace un salto de línea, y se encuentra un if, en este if se dice que si contador es igual a 1, es decir que se ha imprimido la linea anterior(el nombre) se imprime por pantalla tambien esta, donde esta almacenado el numero. Y se incrementa contador en 2. Como la condicion del bucle es que contador sea menor o igual que 2, se sale del bucle.
Creo que este algoritmo es bastante complejo para lo que hace, pero hace su función.
Saludoos
Código [Seleccionar]
int contador = 0;
while(!feof(f) && contador <= 2){
fflush(stdin);
fgets(temp,100,f);
cambio3(temp);
if(contador == 1){
printf("NUMERO: %s \n\n\n\n",temp);
contador ++;
}
if(stricmp(buscador,temp) == 0){
printf(" \n\nNOMBRE: %s \n", temp);
//salto de linea en fichero
//leer siguiente linea
contador ++;
}
}
rewind(f);
fclose(f);
Lo que sí la frase introducida es igual que la frase almacenada en el fichero, se imprime esa linea por pantalla y se le suma uno a contador. Luego se acaba el bucle, y vuelve a empezar y por lo tanto se hace un salto de línea, y se encuentra un if, en este if se dice que si contador es igual a 1, es decir que se ha imprimido la linea anterior(el nombre) se imprime por pantalla tambien esta, donde esta almacenado el numero. Y se incrementa contador en 2. Como la condicion del bucle es que contador sea menor o igual que 2, se sale del bucle.
Creo que este algoritmo es bastante complejo para lo que hace, pero hace su función.
Saludoos