strstr()函数是C语言中常用的字符串函数,它的功能是在一个字符串中查找另一个字符串,如果找到,则返回该字符串在原字符串中的位置,否则返回NULL。strstr()函数的语法如下:
char *strstr(const char *s1, const char *s2);
其中,s1是要查找的字符串,s2是要查找的字符串,返回值是查找到的字符串的起始位置,如果没有找到,返回NULL。
strstr()函数的应用场景
1. 字符串拆分:strstr()函数可以用来拆分字符串,如果需要从一个字符串中拆分出一个子字符串,可以使用strstr()函数,先使用strstr()函数找到子字符串的起始位置,再拷贝子字符串。
#include#include int main(void) { char str[20] = "Hello World!"; char *p; p = strstr(str,"World"); // 查找子字符串 if(p != NULL) { strcpy(p,"China"); // 拷贝子字符串 puts(str); } return 0; } // 输出结果:Hello China!
2. 字符串比较:strstr()函数可以用来比较两个字符串是否相等,如果相等,strstr()函数会返回一个非NULL的值,否则会返回NULL。
#include#include int main(void) { char str1[20] = "Hello World!"; char str2[20] = "Hello China!"; if(strstr(str1,str2) != NULL) { printf("str1和str2相等!\n"); } else { printf("str1和str2不相等!\n"); } return 0; } // 输出结果:str1和str2不相等!
3. 字符串替换:strstr()函数可以用来替换字符串,如果需要替换一个字符串中的某个子字符串,可以使用strstr()函数,先使用strstr()函数找到子字符串的起始位置,再拷贝替换字符串。
#include#include int main(void) { char str[20] = "Hello World!"; char *p; p = strstr(str,"World"); // 查找子字符串 if(p != NULL) { strcpy(p,"China"); // 拷贝替换字符串 puts(str); } return 0; } // 输出结果:Hello China!
4. 字符串查找:strstr()函数可以用来查找字符串,如果需要在一个字符串中查找某个子字符串,可以使用strstr()函数,如果查找到,strstr()函数会返回子字符串的起始位置,否则会返回NULL。
#include#include int main(void) { char str[20] = "Hello World!"; char *p; p = strstr(str,"World"); // 查找子字符串 if(p != NULL) { printf("找到子字符串!\n"); } else { printf("没有找到子字符串!\n"); } return 0; } // 输出结果:找到子字符串!
strstr()函数是C语言中常用的字符串函数,它具有查找、比较、拆分、替换等功能,可以在字符串处理中大量使用。