Hallar el número de ocurrencias de una subcadena en una cadena Imprimir
Escrito por adrianvaca   
Martes, 22 de Marzo de 2011 23:32

La siguiente función resuelve el problema:

int encontrar_ocurrencias( char *cadena, char *subcadena )
{
   char *tmp = cadena;
   char *pdest;
   int ocur = 0, pos;
   int len = strlen(subcadena);
   while(1)
   {
      pdest = strstr( tmp, subcadena );
      if( !pdest ) break;
      pos = pdest - tmp;
      tmp += pos + len;
      ocur++;
   }
   return ocur;
}



El programa completo:

ocurrencias, programa que halla el número de ocurrencias de una subcadena en una cadena. Por ejemplo, si cadena es: "todo esto es una tonteria" y subcadena es: "to", devolverá: 3

Otro programa parecido:

ocurrencias en un archivo, programa que busca el número de ocurrencias de una subcadena en un archivo de texto. Por ejemplo, si el contenido del archivo es: "todo esto es una tonteria" y subcadena es: "to", devolverá: 3

 
Otros artículos