{"id":305,"date":"2026-04-14T21:34:13","date_gmt":"2026-04-14T13:34:13","guid":{"rendered":"http:\/\/www.millscience.cn\/?p=305"},"modified":"2026-04-14T21:34:15","modified_gmt":"2026-04-14T13:34:15","slug":"strfunc","status":"publish","type":"post","link":"https:\/\/www.millscience.cn\/index.php\/strfunc\/","title":{"rendered":"\u5b57\u7b26\u4e32\u5904\u7406\u76f8\u5173\u5e93\u51fd\u6570\u5b9e\u73b0"},"content":{"rendered":"\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(3 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/**\n * @file        strlen.c\n * @brief       \u5b57\u7b26\u4e32\u5904\u7406\u76f8\u5173\u5e93\u51fd\u6570\u5b9e\u73b0\n * @author      philia\n * @date        2025-04-11\n * @version     1.0\n * @details     none\n * @copyright   (c) 2026 philia. All rights reserved\n *\/\n\n#include &lt;stdio.h>\n#include &lt;string.h>\n\n\/* \u6e90\u6587\u4ef6\u5185\u5bb9 *\/\n\nint stringlen(const char* str)\n{\n    int len = 0;\n    for(len = 0; str&#91;len&#93; != '\\0' ; len++);\n    return len;\n}\n\nchar* stringcpy(char* dest , const char* srcstr)\n{\n    int i = 0;\n    for(i = 0; srcstr&#91;i&#93; != '\\0'; i++)\n    {\n        dest&#91;i&#93; = srcstr&#91;i&#93;;\n    }\n    dest&#91;i+1&#93; = '\\0';\n    return dest;\n}\n\nint stringcmp(const char *s1, const char *s2) {\n    while (*s1 &amp;&amp; (*s1 == *s2)) {\n        s1++;\n        s2++;\n    }\n    return *(unsigned char*)s1 - *(unsigned char*)s2;\n}\n\n\nchar *stringcat(char *dest, const char *src)\n{   \n    int destlen = 0;\n    int srclen = 0;\n    for(destlen = 0; dest&#91;destlen&#93; != '\\0' ; destlen++);\n\n    for(srclen = 0;src&#91;srclen&#93; != '\\0' ; srclen++)\n    {\n        dest&#91;destlen + srclen &#93; = src&#91;srclen&#93;;\n    }\n    dest&#91;destlen + srclen &#93; = '\\0';\n    return dest;\n}\n\nchar *stringchr(const char *str, int c)\n{   \n    for(int strlen = 0;str&#91;strlen&#93; != '\\0' ; strlen++)\n    {\n       if(str&#91;strlen&#93; == c)\n       {       \n         return (char *)(str + strlen);\n       }\n    }\n    return NULL;\n}\n\nchar *stringstr(const char *haystack, const char *needle) {\n    if (!*needle) return (char *)haystack;  \n    \n    for ( ; *haystack; haystack++) {\n        const char *h = haystack;\n        const char *n = needle;\n        while (*h &amp;&amp; *n &amp;&amp; (*h == *n)) {\n            h++;\n            n++;\n        }\n        if (!*n) return (char *)haystack;  \n    }\n    return NULL;\n}\n\n\nint main() {\n    \/\/\u5b57\u7b26\u4e32\u957f\u5ea6\u6d4b\u8bd5\n    char test&#91;64&#93; = \"Hello World!\";\n    printf(\"\u5b57\u7b26\u4e32\u957f\u5ea6\u4e3a\uff1a%d\\n\",stringlen(test));\n\n    \/\/\u5b57\u7b26\u4e32\u590d\u5236\u6d4b\u8bd5\n    char temp&#91;64&#93; = \"0\";\n    printf(\"\u590d\u5236\u7684\u5b57\u7b26\u4e32\u4e3a\uff1a%s\\n\",stringcpy(temp,test));\n\n    \/\/\u5b57\u7b26\u4e32\u6bd4\u8f83\u6d4b\u8bd5\n    int same = stringcmp(test, temp);\n    if(same == 0)\n    {\n        printf(\"\u5b57\u7b26\u4e32\u76f8\u540c\uff01\\n\");\n    }\n    else\n    {\n        printf(\"\u5b57\u7b26\u4e32\u4e0d\u540c\uff01\\n\");\n    }\n\n    \/\/\u5b57\u7b26\u4e32\u62fc\u63a5\u6d4b\u8bd5\n    printf(\"\u62fc\u63a5\u7684\u5b57\u7b26\u4e32\u4e3a\uff1a%s\\n\",stringcat(test,temp));\n\n    \/\/\u5b57\u7b26\u67e5\u627e\u6d4b\u8bd5\n    char *pos = stringchr(test, 'o');\n    if (pos != NULL) {\n        printf(\"\u5b57\u7b26 '%c' \u9996\u6b21\u51fa\u73b0\u5728\u4f4d\u7f6e: %ld\\n\", 'o', pos - test);\n    } else {\n        printf(\"\u672a\u627e\u5230\u5b57\u7b26 '%c'\\n\", 'o');\n    }\n\n    \/\/\u5b57\u7b26\u4e32\u5339\u914d\u6d4b\u8bd5\n    const char *str = \"hello world\";\n    char *pos1 = strstr(str, \"world\");\n    \n    if (pos1) {\n        printf(\"\u627e\u5230\u5b57\u7b26\u4e32\u8d77\u59cb\u4f4d\u7f6e: %ld\\n\", pos1 - str);  \n        printf(\"\u5269\u4f59\u5b57\u7b26\u4e32: %s\\n\", pos1);      \n    } else {\n        printf(\"\u672a\u627e\u5230\\n\");\n    }\n\n    return 0;\n}\n\n\/*\n*\n*\u5b57\u7b26\u4e32\u957f\u5ea6\u4e3a\uff1a12\n*\u590d\u5236\u7684\u5b57\u7b26\u4e32\u4e3a\uff1aHello World!\n*\u5b57\u7b26\u4e32\u76f8\u540c\uff01\n*\u62fc\u63a5\u7684\u5b57\u7b26\u4e32\u4e3a\uff1aHello World!Hello World!\n*\u5b57\u7b26 'o' \u9996\u6b21\u51fa\u73b0\u5728\u4f4d\u7f6e: 4\n*\u627e\u5230\u5b57\u7b26\u4e32\u8d77\u59cb\u4f4d\u7f6e: 6\n*\u5269\u4f59\u5b57\u7b26\u4e32: world\n*           \n*\n**\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/**<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@file<\/span><span style=\"color: #6A9955\">        strlen.c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@brief<\/span><span style=\"color: #6A9955\">       \u5b57\u7b26\u4e32\u5904\u7406\u76f8\u5173\u5e93\u51fd\u6570\u5b9e\u73b0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@author<\/span><span style=\"color: #6A9955\">      philia<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@date<\/span><span style=\"color: #6A9955\">        2025-04-11<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@version<\/span><span style=\"color: #6A9955\">     1.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@details<\/span><span style=\"color: #6A9955\">     none<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * <\/span><span style=\"color: #569CD6\">@copyright<\/span><span style=\"color: #6A9955\">   (c) 2026 philia. All rights reserved<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">#include<\/span><span style=\"color: #569CD6\"> <\/span><span style=\"color: #CE9178\">&lt;stdio.h&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">#include<\/span><span style=\"color: #569CD6\"> <\/span><span style=\"color: #CE9178\">&lt;string.h&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/* \u6e90\u6587\u4ef6\u5185\u5bb9 *\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">stringlen<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">* <\/span><span style=\"color: #9CDCFE\">str<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> len = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\">(len = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">; <\/span><span style=\"color: #9CDCFE\">str<\/span><span style=\"color: #D4D4D4\">&#91;len&#93; != <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\"> ; len++);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> len;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">* <\/span><span style=\"color: #DCDCAA\">stringcpy<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">* <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\"> , <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">* <\/span><span style=\"color: #9CDCFE\">srcstr<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> i = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\">(i = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">; <\/span><span style=\"color: #9CDCFE\">srcstr<\/span><span style=\"color: #D4D4D4\">&#91;i&#93; != <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\">; i++)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">&#91;i&#93; = <\/span><span style=\"color: #9CDCFE\">srcstr<\/span><span style=\"color: #D4D4D4\">&#91;i&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">&#91;i+<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93; = <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> dest;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">stringcmp<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">s1<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">s2<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">while<\/span><span style=\"color: #D4D4D4\"> (*s1 &amp;&amp; (*s1 == *s2)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        s1++;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        s2++;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> *(<\/span><span style=\"color: #569CD6\">unsigned<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">*)s1 - *(<\/span><span style=\"color: #569CD6\">unsigned<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\">*)s2;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #DCDCAA\">stringcat<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> destlen = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> srclen = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\">(destlen = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">; <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">&#91;destlen&#93; != <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\"> ; destlen++);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\">(srclen = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">&#91;srclen&#93; != <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\"> ; srclen++)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">&#91;destlen + srclen &#93; = <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">&#91;srclen&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">dest<\/span><span style=\"color: #D4D4D4\">&#91;destlen + srclen &#93; = <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> dest;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #DCDCAA\">stringchr<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">str<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">c<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> strlen = <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><span style=\"color: #9CDCFE\">str<\/span><span style=\"color: #D4D4D4\">&#91;strlen&#93; != <\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\0<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D4D4D4\"> ; strlen++)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">       <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">str<\/span><span style=\"color: #D4D4D4\">&#91;strlen&#93; == c)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">       {       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">         <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *)(str + strlen);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">       }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">NULL<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #DCDCAA\">stringstr<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">haystack<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *<\/span><span style=\"color: #9CDCFE\">needle<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> (!*needle) <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *)haystack;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">for<\/span><span style=\"color: #D4D4D4\"> ( ; *haystack; haystack++) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *h = haystack;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *n = needle;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">while<\/span><span style=\"color: #D4D4D4\"> (*h &amp;&amp; *n &amp;&amp; (*h == *n)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            h++;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            n++;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> (!*n) <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *)haystack;  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">NULL<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">main<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u4e32\u957f\u5ea6\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">test<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">64<\/span><span style=\"color: #D4D4D4\">&#93; = <\/span><span style=\"color: #CE9178\">&quot;Hello World!&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u5b57\u7b26\u4e32\u957f\u5ea6\u4e3a\uff1a<\/span><span style=\"color: #9CDCFE\">%d<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #DCDCAA\">stringlen<\/span><span style=\"color: #D4D4D4\">(test));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u4e32\u590d\u5236\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">temp<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">64<\/span><span style=\"color: #D4D4D4\">&#93; = <\/span><span style=\"color: #CE9178\">&quot;0&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u590d\u5236\u7684\u5b57\u7b26\u4e32\u4e3a\uff1a<\/span><span style=\"color: #9CDCFE\">%s<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #DCDCAA\">stringcpy<\/span><span style=\"color: #D4D4D4\">(temp,test));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u4e32\u6bd4\u8f83\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">int<\/span><span style=\"color: #D4D4D4\"> same = <\/span><span style=\"color: #DCDCAA\">stringcmp<\/span><span style=\"color: #D4D4D4\">(test, temp);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\">(same == <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u5b57\u7b26\u4e32\u76f8\u540c\uff01<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u5b57\u7b26\u4e32\u4e0d\u540c\uff01<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u4e32\u62fc\u63a5\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u62fc\u63a5\u7684\u5b57\u7b26\u4e32\u4e3a\uff1a<\/span><span style=\"color: #9CDCFE\">%s<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #DCDCAA\">stringcat<\/span><span style=\"color: #D4D4D4\">(test,temp));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u67e5\u627e\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *pos = <\/span><span style=\"color: #DCDCAA\">stringchr<\/span><span style=\"color: #D4D4D4\">(test, <\/span><span style=\"color: #CE9178\">&#39;o&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> (pos != <\/span><span style=\"color: #569CD6\">NULL<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u5b57\u7b26 &#39;<\/span><span style=\"color: #9CDCFE\">%c<\/span><span style=\"color: #CE9178\">&#39; \u9996\u6b21\u51fa\u73b0\u5728\u4f4d\u7f6e: <\/span><span style=\"color: #9CDCFE\">%ld<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;o&#39;<\/span><span style=\"color: #D4D4D4\">, pos - test);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    } <\/span><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u672a\u627e\u5230\u5b57\u7b26 &#39;<\/span><span style=\"color: #9CDCFE\">%c<\/span><span style=\"color: #CE9178\">&#39;<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;o&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/\u5b57\u7b26\u4e32\u5339\u914d\u6d4b\u8bd5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *str = <\/span><span style=\"color: #CE9178\">&quot;hello world&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">char<\/span><span style=\"color: #D4D4D4\"> *pos1 = <\/span><span style=\"color: #DCDCAA\">strstr<\/span><span style=\"color: #D4D4D4\">(str, <\/span><span style=\"color: #CE9178\">&quot;world&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> (pos1) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u627e\u5230\u5b57\u7b26\u4e32\u8d77\u59cb\u4f4d\u7f6e: <\/span><span style=\"color: #9CDCFE\">%ld<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">, pos1 - str);  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u5269\u4f59\u5b57\u7b26\u4e32: <\/span><span style=\"color: #9CDCFE\">%s<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">, pos1);      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    } <\/span><span style=\"color: #C586C0\">else<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">printf<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&quot;\u672a\u627e\u5230<\/span><span style=\"color: #D7BA7D\">\\n<\/span><span style=\"color: #CE9178\">&quot;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u5b57\u7b26\u4e32\u957f\u5ea6\u4e3a\uff1a12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u590d\u5236\u7684\u5b57\u7b26\u4e32\u4e3a\uff1aHello World!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u5b57\u7b26\u4e32\u76f8\u540c\uff01<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u62fc\u63a5\u7684\u5b57\u7b26\u4e32\u4e3a\uff1aHello World!Hello World!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u5b57\u7b26 &#39;o&#39; \u9996\u6b21\u51fa\u73b0\u5728\u4f4d\u7f6e: 4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u627e\u5230\u5b57\u7b26\u4e32\u8d77\u59cb\u4f4d\u7f6e: 6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\u5269\u4f59\u5b57\u7b26\u4e32: world<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*           <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">**\/<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":306,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,13],"tags":[],"class_list":["post-305","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-embedded","category-learning"],"_links":{"self":[{"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/posts\/305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/comments?post=305"}],"version-history":[{"count":2,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/posts\/305\/revisions"}],"predecessor-version":[{"id":308,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/posts\/305\/revisions\/308"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/media\/306"}],"wp:attachment":[{"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/media?parent=305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/categories?post=305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.millscience.cn\/index.php\/wp-json\/wp\/v2\/tags?post=305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}