<string.h>
里有一字符搜索函数char* strchr(const char*, int)
,利用该函数实现:
1. 搜索目标字符第二次出现的位置;
2. 获取目标字符前的字符串;
#include <stdio.h>
#include <string.h>
int main()
{
// 搜索ch[]中'l'第二次出现的位置,返回位置指针给q
char ch[] = "Hello";
char *q = strchr(ch, 'l');
char *r = NULL;
q = strchr(q+1, 'l');
printf("%s\n", q);
// 获取ch[]中'l'第一次出现的位置前的字符串,
q = strchr(ch, 'l');
char c = *q; // 记忆原字符
*q = '\0'; // 改写为字符串结束标记
r = (char *)malloc(strlen(ch)+1);
strcpy(r, ch);
printf("%s\n", r);
*q = c; // 恢复原字符
free(r);
return 0;
}