RE:Como crear un indice para controlar un fichero
Mira, tenes que utilizar una estructura de datos para que inicialices el archivo en blancos y hacer las consultas o introducciones de texto en forma directa o secuencial.
Ej.
struct registro
{
int indice;
char nombre[25];
char direccion[50];
}
int x,cont=1;
/*inicializamos para 10 registros */
for(x=0;x<10;x++)
{
registro.indice=cont;
registro.nombre="";
registro.direccion="";
}
Para accesarlos vas a crear una funcion que te calcule en que posicion esta el registro deseado, ya que un registro como veras ocupara la suma de la variable entera mas las dos de las caracteres, si es directo tienes que hacer pos=numero de clave * tamaño del registro(sizeof);
luego con fseek te posicionas en esa posicion valga la redundancia, pides tus datos y los mandas al archivo con fwrite.
Para leer los datos es lo mismo:
pides la clave calculas la posicion y te vas hacia alla con fseek, lees los datos con fread y los desplegas en pantalla.
Ahora no te puedo proporcionar con exactitud todo, pero si deseas podes escribirme Ok.
Atte Josh !! =)