c++

C++ strstr函数可以查找什么

小樊
83
2024-06-14 15:33:54
栏目: 编程语言

C++中的`strstr`函数用于在一个字符串(称为`str`)中查找另一个子字符串(称为`substr`)

以下是`strstr`函数的一些查找示例:

1、查找普通英文单词:

```cpp

const char* str = "Hello, world!";

const char* substr = "world";

char* result = strstr(str, substr); // 查找成功,返回指向"world"的指针

```

2、查找空字符串:

```cpp

const char* str = "Hello, world!";

const char* substr = "";

char* result = strstr(str, substr); // 查找成功,返回指向str起始位置的指针

```

3、查找不存在的子字符串:

```cpp

const char* str = "Hello, world!";

const char* substr = "planet";

char* result = strstr(str, substr); // 查找失败,返回NULL

```

4、查找单个字符:

```cpp

const char* str = "Hello, world!";

const char* substr = "o";

char* result = strstr(str, substr); // 查找成功,返回指向第一个'o'的指针

```

5、查找包含特殊字符的子字符串:

```cpp

const char* str = "Hello, @world!";

const char* substr = "@world";

char* result = strstr(str, substr); // 查找成功,返回指向"@world"的指针

```

6、查找区分大小写的子字符串:

```cpp

const char* str = "Hello, world!";

const char* substr = "World";

char* result = strstr(str, substr); // 查找失败,返回NULL

```

需要注意的是,`strstr`函数对大小写敏感,所以在上面的示例中,查找"World"失败了。如果你想执行不区分大小写的查找,你需要将`str`和`substr`转换为相同的大小写,或者使用其他不区分大小写的字符串查找函数,如`strcasestr`(在某些平台上可用)。

此外,`strstr`函数可以处理包含多字节字符(如UTF-8编码的中文字符)的字符串,但需要注意按字节进行比较可能导致问题。在这种情况下,可以考虑使用专门针对宽字符或多字节字符的库。

0
看了该问题的人还看了