
Tengo el Siguiente codigo:
void lectura()
{
clrscr();
p_archivo = fopen("agenda.txt","r");
if (p_archivo==NULL){
printf("\n No Hay archivos para leer, crear un Registro primero");
getch();
}
while(fread(&datos,sizeof(datos),1,p_archivo)!='\0 ')
printf("\n Nombre Direccion Telefono Edad\n");
printf("----------------------------------------------------------------------------\n");
printf("\n-->%-15s %-15s %11s %3i <--\n ",datos.nombre,datos.direccion,datos.telefono,dato s.edad);
printf("\n\n Preciona cualquier tecla para continuar: ");
fclose(p_archivo);
getch();
}
//donde p_archivo es el apuntador al archivo que se declaro en las cabeceras.
//&datos es la estructura donde guardo los datos.
Aqui es donde surge mi duda como paso los datos leidos a una funcion que ordene los datos leidos y luego como los pando a la funcion de escritura??
void grabar()
{
FILE *p_temporal; // p_temporal es el puntero al archivo donde guardare los datos
clrscr();
flushall();
p_archivo = fopen("agenda.txt","r+");
p_temporal = fopen("nuevaagenda.txt","w");
if (p_archivo==NULL || p_temporal==NULL){
printf("Antes de Eliminar un Archivo, Tienes que Crearlo Primero");
getch();
}
while(fread(&datos,sizeof(datos),1,p_archivo)!=NUL L){
fwrite(&datos,sizeof(datos),1,p_temporal);
}
fclose(p_archivo);
fclose(p_temporal);
getch();
}
alguien sabe como hacer la funcion de ordenamiento ?
muchas gracias de Antemano.