No acabo de entenderte bien. Vas a leer toda esa información desde un archivo de texto ¿verdad? Ahora, al leerlos ¿vas a crear dinámicamente en memoria cada elemento que contenga información de la estructura y los vas a enlazar para crear la lista? ¿en qué momento vas a insertar al principio o al final o visualizar la lista por apellido? ¿para que necesitas que escriba en el fichero si todo lo manejas en memoria?
Bueno, eso sí lo entiendo, pero yo te preguntaba cómo tenías pensado hacerla ¿usando memoria dinámica para crear los elementos en memoria? si va a ser dinámica en memoria ¿por qué preguntabas que no sabias como escribir en un archivo?
Si tu problema consiste en cómo escribir registros a un archivo, aquí te paso una liga, en este mismo foro, de un sencillo programa en C que efectúa altas, bajas y modificaciones en un archivo.http://foros.solocodigo.com/index.php?showtopic=15531 Si quieres insertar un registro en alguna posición del archivo, entonces necesariamente tienes que crear otro archivo; pasarle todos los registros a ese archivo hasta la posición donde quieres insertar el nuevo registro; insertarle el registro; copiar los registros restantes; borrar el archivo antiguo y renombrar el nuevo. Como ves, esto es muy ineficiente cada vez que insertes un registro. Una manera de hacerlo más eficiente es crear un archivo de índices que maneje el de los registros y cuando modificas dando de alta, insertando o dando de baja algun registro manterer ordenado el archivo de índices. ¿esto responde a tus dudas?