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

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

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

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

字符和字符串搜索function

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

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


另外,

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

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

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

并查看此链接以获取有关C, C字符串函数中字符串函数的任何信息

使用strstr ,请参阅http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html

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

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

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

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

句法:

 char *p = strstr(wheretolook,whattolookfor);