Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _GNU_SOURCE
- #include <stdio.h>
- #include <stdbool.h>
- #include <string.h>
- #include <stdlib.h>
- #include "cola.h"
- void imprimir_cola(cola_t* cola){
- char* linea;
- while(!cola_esta_vacia(cola)){
- linea = cola_desencolar(cola);
- printf("%s",linea );
- }
- }
- int main(int argc,char* argv[]){
- if (argc<3){
- fprintf(stderr, "Cantidad de parametros erronea\n");
- return 0;
- }
- FILE* archivo;
- if(argc == 4)
- archivo = fopen(argv[3],"r");
- else
- archivo = stdin;
- size_t bufsize = 48;
- char* aux;
- char* buffer = malloc(bufsize*sizeof(char*));
- size_t cantidad_lineas;
- sscanf(argv[2],"%zu",&cantidad_lineas);
- char* cadena = argv[1];
- cola_t* cola = cola_crear();
- size_t cont = 0;
- while(!feof(archivo)){
- if (cont > cantidad_lineas)
- cola_desencolar(cola);
- getline(&buffer,&bufsize,archivo);
- aux = strdup(buffer);
- cola_encolar(cola,aux);
- if(strstr(aux,cadena)){
- imprimir_cola(cola);
- cont = 0;
- }
- else
- cont++;
- }
- if (argv[3])
- fclose(archivo);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement