c++中find函数讲解
时间: 2023-08-29 21:12:15 浏览: 102
在 C 语言中,没有内置的 find() 函数,但可以通过编写自定义函数来实现相同的功能。
一种实现方式是利用 strstr() 函数,该函数用于在字符串中查找子字符串,并返回第一次出现的位置。因此,可以编写一个函数来利用该函数查找一个字符或字符串在另一个字符串中的位置。
以下是一个示例函数来查找一个字符在字符串中的位置:
```
#include <stdio.h>
#include <string.h>
int find_char(char *str, char ch) {
char *p = strchr(str, ch);
if (p != NULL) {
return p - str;
}
return -1;
}
int main(void) {
char str[50] = "Hello, world!";
int pos = find_char(str, 'o');
if (pos != -1) {
printf("Found at position %d\n", pos);
} else {
printf("Not found\n");
}
return 0;
}
```
输出结果为:Found at position 4
同样,可以编写一个函数来查找一个字符串在另一个字符串中的位置:
```
#include <stdio.h>
#include <string.h>
int find_string(char *str, char *substr) {
char *p = strstr(str, substr);
if (p != NULL) {
return p - str;
}
return -1;
}
int main(void) {
char str[50] = "Hello, world!";
int pos = find_string(str, "world");
if (pos != -1) {
printf("Found at position %d\n", pos);
} else {
printf("Not found\n");
}
return 0;
}
```
输出结果为:Found at position 7
这些示例函数可根据需要进行修改,以实现更特定的查找功能。
阅读全文