找到以另一个文本开头的文本

时间:2011-06-03 07:59:44

标签: c string

C中是否有任何方法可以在另一个文本中找到文字?

例如,text = "abaHello"textneedtoSearch = "Hello";

如果text包含"Hello"return true, else return false

5 个答案:

答案 0 :(得分:10)

答案 1 :(得分:6)

Character and string searching functions

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

返回指向第一个的指针   s1中字符串s2的实例。返回   如果s2不是,则为NULL指针   在s1中遇到。


另外,

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

strcmp将字符串s1与字符串s2进行比较。如果它们相同,则该函数返回0,数字<1。如果s1 <0则为0 s2,数字>如果s1> 0则为0 S2。

     

这是最常用的一种   字符串处理函数。

并查看此链接,了解有关C,C string functions

中字符串函数的任何信息

答案 2 :(得分:3)

C函数strstr返回指向您正在搜索的单词的开头的指针,如果它包含在您搜索的文本中,或NULL,如果它包含不包含您要找的单词。

语法:

char *p = strstr(wheretolook,whattolookfor);

答案 3 :(得分:3)

if (strstr(text, textneedtoSearch) != NULL)
  printf("found\n");

答案 4 :(得分:3)

您可以在字符串文件中找到文本:

#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;
}