c语言编程笔录

首页 > C语言 > c语言

c语言

c语言strrstr

更新时间:2023-06-21

背景

在C语言中,字符串(String)是一个由字符组成的数组,以\0(空字符)结尾。为了能够方便地在字符串中查找指定的子字符串,C语言中提供了一个内置函数strrstr()。

功能

strrstr()函数用于在一个字符串中查找另一个字符串最后一次出现的位置。它返回一个指向被查找子字符串最后一次出现的位置的指针,或者返回NULL表示没找到。

用法

strrstr()函数的声明如下:

    
    char *strrstr(const char *haystack, const char *needle);
    

其中,haystack是被查找的字符串,needle是要查找的子字符串。函数返回的指针指向needle在haystack中最后出现的位置,或者返回NULL。

实例

下面是一个简单的例子,演示如何使用strrstr()函数:

    
    #include <stdio.h>
    #include <string.h>

    int main() {
        const char *haystack = "This is a sample string";
        const char *needle = "sample";

        char *result = strrstr(haystack, needle);

        if (result != NULL) {
            printf("'%s' found at position %d\n", needle, (int)(result - haystack));
        } else {
            printf("'%s' not found\n", needle);
        }

        return 0;
    }
    

在上面的例子中,我们在字符串haystack中查找子字符串needle,并打印其最后一次出现的位置。如果找到子字符串,将输出它在字符串haystack中的位置;如果没找到,将输出"Not found"。

总结

strrstr()函数是C语言中用于在字符串中查找子字符串最后一次出现位置的函数。它非常方便,可以在大量的字符串处理任务中使用。要注意使用时传递正确的参数,以及对返回值进行合理的判断和处理。