在内核代码中看到strstr函数:

mode = strstr(boot_command_line, "D:");

应该是一个字符串处理函数,使用man命令查看下给出如下解释:

SYNOPSIS
       #include <string.h>


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


       #define _GNU_SOURCE


       #include <string.h>


       char *strcasestr(const char *haystack, const char *needle);
DESCRIPTION
       The strstr() function finds the first occurrence of the substring needle in
       the string haystack.  The terminating '\0' characters are not compared.

       The strcasestr() function is like strstr(), but ignores the  case  of  both
       arguments.

RETURN VALUE
       These functions return a pointer to the beginning of the substring, or NULL
       if the substring is not found.


找出字符串needle在haystack中第一次出现的位置,成功返回位子指针,没有找到返回NULL。
简单的例子:

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

int main()
{
    char *haystack = "Hello, this is csdn blog, I am here";
    char *needle = "he";
    char *temp;

    temp = strstr(haystack, needle);
    if(temp != NULL)
    {
        printf("%s\n", temp);
    }
    else
    {
        printf("can not find [%s] from [%s]\n", needle, haystack);
    }

    return 0;
}


$ gcc strstr.c -o strstr
$ ./strstr

GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐