#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
if(argc < 2)
{
printf("Busca cadenas de texto.\n\n\t%s.exe [-n] [-v] \"Cadena\""
"\n\n-n Muestra el numero de linea donde se da la coincidencia"
"\n-v Muestra las lineas que no contengan la coincidencia\n", *argv);
return 1;
}
char cadena[400];
signed int linea = 0;
if(argc == 2)
{
while(fgets(cadena, 400, stdin) != NULL)
{
cadena[400] = '\0';
linea++;
if(strstr(cadena, argv[1]))
{
printf("%s", cadena);
}
}
}
if(strcmp(argv[1], "-n") == 0 && argv[2] != NULL)
{
while(fgets(cadena, 400, stdin) != NULL)
{
cadena[400] = '\0';
linea++;
if(strstr(cadena, argv[2]))
{
printf("%i : %s", linea, cadena);
}
}
}
if(strcmp(argv[1], "-v") == 0 && argv[2] != NULL)
{
while(fgets(cadena, 400, stdin) != NULL)
{
cadena[400] = '\0';
linea++;
if(!strstr(cadena, argv[2]))
{
printf("%s", cadena);
}
}
}
return 0;
}
Saludos!