Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #define iniciales 2
- int main(int argc, char *argv[]){
- char leido[2048]; //linea leida
- int nLeidas; //numero de lineas leidas
- int i,j,k; //variables de rercorrido
- char ** leidas; //array con las lineas leidas
- FILE *entrada;
- int tam = 0; //tamaño array de lineas
- // Ficheros como argumento
- for (i=argc-1; i>0; i--){
- entrada = fopen(argv[i],"r");
- if(entrada==NULL){
- printf("No existe el fichero");
- }
- else{
- //Inicicializamos el array
- leidas = (char **) malloc (sizeof (char *)* iniciales);
- tam = iniciales;
- //Comenzamos a almacenar lineas
- while(!feof(entrada)){
- //Comprobamos si vamos a superar el tamaño del array
- if (nLeidas>=tam){
- leidas = (char **) realloc (leidas, sizeof(char*)*tam*2);
- tam *=2;
- }
- fgets(leido, 2048, entrada);
- leidas[nLeidas] = strdup(leido);
- nLeidas++;
- }
- //Devolvemos las lineas en el orden inverso
- for (j= 0; j<nLeidas; j++){
- printf("%s", leidas[nLeidas-i-1]);
- }
- //Limpiamos la memoria
- for (k=0; k<nLeidas; k++){
- free(leidas[k]);
- }
- free(leidas);
- tam=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement