Найти текст, начинающийся с другого текста - PullRequest
9 голосов
/ 03 июня 2011

Есть ли какой-либо метод в C, который может найти текст в другом тексте?

Например, text = "abaHello", textneedtoSearch = "Hello";.

Если text содержит "Hello", return true, else return false.

Ответы [ 5 ]

10 голосов
/ 03 июня 2011
6 голосов
/ 03 июня 2011

Функции поиска символов и строк

`char *strstr( const char *s1,  const char *s2)`

возвращает указатель на первый экземпляр строки s2 в s1.Возвращает нулевой указатель, если s2 не встречается в s1.


Кроме того,

int strcmp(const char *s1, const char *s2);

strcmp сравнивает строку s1 со строкой s2,Функция возвращает 0, если они одинаковы, число <0, если s1 <s2, число> 0, если s1> s2.

Это одна из наиболее часто используемых функций обработки строк.

И проверьте эту ссылку на предмет каких-либо строковых функций в C, Строковых функций C

3 голосов
/ 18 марта 2012

Вы можете найти текст в строковом файле:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
        FILE *fp=fopen(argv[1],"r");
        char  tmp[256]={0x0};
        while(fp!=NULL && fgets(tmp, sizeof(tmp),fp)!=NULL)
        {
        if (strstr(tmp, argv[2]))
        printf("%s", tmp);
        }
        if(fp!=NULL) fclose(fp);
        return 0;
}
3 голосов
/ 03 июня 2011
if (strstr(text, textneedtoSearch) != NULL)
  printf("found\n");
3 голосов
/ 03 июня 2011

Функция C strstr возвращает указатель на начало искомого слова, если оно содержится в искомом тексте, или NULL, если оно не содержит слова, которое вы ищете.ищу.

Синтаксис:

char *p = strstr(wheretolook,whattolookfor);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...