1,字符串str匹配字符c后,返回匹配后的首地址,即是获取匹配到字符c以后的所有字符串。
char *strchr(const char *str, int c);
#include<stdio.h>
#include<string.h>
int main()
{
char* testS = "ptp 0/1/1";
char* testP = "ptp.0/1/1.4095";
char* s1 = strchr(testS,'.');
if(s1 != NULL)
{
printf("s1 = %s\n",s1);
}
char* s2 = strchr(testP,'.');
if(s2 != NULL)
{
printf("s2 = %s\n",s2);
}
char* s3 = strchr(testS,' ');
if(s3 != NULL)
{
printf("s3 = %s\n",s3);
}
}
-bash-4.2$ ./a.out
s2 = .0/1/1.4095
s3 = 0/1/1
注意:是按照字符串中第一次出现字符c来匹配的。
s1没有点,所以遍历完字符串后没有匹配到,所以剩余的字符串为NULL,所以返回的为NULL,
s2遍历后匹配到第一个点,所以返回剩余的字符串0/1/1.4095;
s3遍历后匹配到第一个空格,所以返回剩余的字符串0/1/1;