Hola! Tengo que ordenar alfabeticamente un archivo txt dentro de un TDA y lo que hice no me esta funcionando, compila y ordena pero algunos nombres desaparecen en el archivo y en la hora de mostrar por consola lo muestra mal. Les adjunto lo que hice, mando solo la funcion de ordenar que esta dentro del TDA. El archivo ya lo consegui cargar con todos los nombres desordenados.
Código [Seleccionar]
FILE*archivo = fopen("Equipos y Jugadores.txt","r");
int i,j;
int contador = 0;
char aux[20];
if(archivo == NULL)
{
printf("No se ha podido abrir el archivo.\n");
exit(1);
}
for(i = 0; !feof(archivo); i++)
{
fgets(n[i].nombres,20,archivo);
contador++;
}
for(i = 0; i < contador; i++)
{
for(j = 0; j < contador; j++)
{
if(strcmp(n[j].nombres,n[j+1].nombres) > 0)
{
strcpy(aux,n[j].nombres);
strcpy(n[j].nombres,n[j+1].nombres);
strcpy(n[j+1].nombres,aux);
}
}
}
fclose(archivo);
fopen("Equipos y Jugadores.txt","w");
for(i = 0; i < contador; i++)
{
fprintf(archivo,"%s",n[i].nombres);
}