找到以另一个文本开头的文本
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,如果s1s2,则数字> 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);