Estoy intentando leer las n últimas líneas de un fichero, para, posteriormente, almacenarlas en otro.
Por ejemplo, si mi fichero tiene:
Código:
hola
adiós
duda
ficheros
punteros
estructuras
y meto el número 3 por consola, después de introducir el nombre del fichero, me debería leer:
Citar
ficheros
punteros
estructuras
punteros
estructuras
Y, sin embargo, me lee:
Código:
os
punteros
estructuras
Mi código es:
Código
#include<stdio.h> #include<stdlib.h> typedef struct{ int *V; int lineas; }Estructura; char* InicializarCadena(); Estructura Contar(FILE *fp); void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n); int main (){ FILE *fp1; FILE *fp2; int n; char *fich,c; Estructura aux; fich=InicializarCadena(); if(fp1==NULL){ } aux=Contar(fp1); Almacenar(fp1,fp2,aux,n); } char* InicializarCadena(){ int i = 0; char c, *cad; cad[i] = c; i++; } cad[i] = '\0'; return cad; } Estructura Contar(FILE *fp){ int i=0; Estructura aux; char c; aux.lineas=0; i++; if(c=='\n'){ aux.V[aux.lineas]=i; aux.lineas++; } } aux.lineas++; return(aux); } void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n){ char c; } }
¿Qué hago mal?
Muchas gracias.
Saludos.