Red de conocimiento del abogados - Ley de patentes - C++ implementa la búsqueda de si una cadena contiene otra cadena

C++ implementa la búsqueda de si una cadena contiene otra cadena

1. Usar la función de biblioteca

string.h

función strstr

Nombre de la función: strstr

Función : Encuentra la primera aparición de la cadena especificada en la cadena

Uso: char *strstr(char *str1, char *str2

Descripción: Devuelve el puntero a la primera aparición; puntero a la posición str2, si no se encuentra, devuelve NULL.

Llame a la función, juzgue si el valor de retorno es igual a NULL y decida si generar

Por ejemplo,

char *p=".c; "; //Subtítulos requeridos Cadena

if(strstr(A,p)) printf("%s",A);

2. No usar funciones de biblioteca

La primera línea es la cadena que se va a encontrar

La segunda línea es la oración que se va a encontrar

Envía la cadena que se va a encontrar en la primera posición de la oración a ser encontrado

#include

#include

void main()

{

int i,j, la,lb,num=0;

char c,a[120],b[4500];

mientras((c =getchar())!='\n' ) a[num++]=c;a[num]='\0';

num=0;

mientras(( c=getchar())!='\n ') b[num++]=c;b[num]='\0';

la=strlen(a);lb=strlen(b) ;

for(i =0;(lb-i)>=la;i++)

{if(b[i]==a[0])

{for(j=0;j

if(b[i+j]!=a[j]) romper;

if(j ==la) {printf("%d\ n",i+1);descanso;}

}

}

}

3. Uso de punteros

#include "stdio.h"

#include "conio.h"

#include "string.h"

int main()

{

char str[20]="jsdlaadf",substr[10]="sdf";

char *p=str,*q=substr ;

int flag=0;

for(;*(p+strlen(substr)-1);p++)

{

for(q=substr;*p==*q&&*q;p++,q++);

if(!*q)

{

bandera=1;

romper;

}

}

if(bandera ==1) puts("acordar");

else puts("no acordar");

system("pausa");

}