该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
查找一个字符:和和和strchr()。
函数返回一个指向STR中CH首次出现的位置,当没有在STR中找CH就报道查看NULL。
查找任意字符:strpbrk()
函数返回一个指针,它指向字符串STR2中任意字符在字符串STR1首次出现的位置,如果不存在返回NULL。
查找一个子串:的的的strstr()
函数返回一个指针,它指向字符串str2中的中首次出现于字符串STR1中的位置,如果没有找到,返回NULL。
#include
char *strchr( const char *str, int ch );
char *strpbrk( const char *str1, const char *str2 );
char *strstr( const char *str1, const char *str2 );
例子:
说明下,因为我用的电脑是64位的,所以指针类型长度为8字节64位的
#include
#include
int main()
{
char *str1 = "hello world";
char *str2 = "你好 中国!";
char ch = 'w';
char *str3 = "del";
char *str4 = "rld";
printf("该机器int字节数是%lu,指针字节数%lu\n",sizeof(int),sizeof(str1));
printf("%c是str1第%lu字符\n",ch,strchr(str1,ch) - str1);
printf("%s任一字符在str1最开始出现的是第%c字符\n",str3,*strpbrk(str1,str3));
printf("%s字符串在str1最开始出现的是字符串%s\n",str4,strstr(str1,str4));
return 0;
}
总结:
strchr是查找一个字符在字符串中是否有。
strpbrk是查找一个字符串中的任一字符在字符串中是否有,要查找的字符没有顺序。
strstr是查找一个字符串在要查找的字符串中是否有,字符的顺序固定不变。