首頁  >  文章  >  後端開發  >  c語言如何查找字串指定字符

c語言如何查找字串指定字符

coldplay.xixi
coldplay.xixi原創
2021-03-17 15:41:1325553瀏覽

c語言找出字串指定字元的方法:1、【strchr()】用來找出某個字元在字串中首次出現的位置;2、【strrchr()】函數用來找出某個字符在字串中最後一次出現的位置。

c語言如何查找字串指定字符

本教學操作環境:windows7系統、c99版本,DELL G3電腦。

c語言尋找字串指定字元的方法:

1、strchr() 用來找出某個字元在字串中首次出現的位置,其原型為:

    char * strchr (const char *str, int c);

【參數】str 為要尋找的字串,c 為要尋找的字元。

strchr() 將會找出 str 字串中第一次出現的字元 c 的位址,然後將該位址傳回。

注意:字串 str 的結束標誌 NUL 也會被納入檢索範圍,所以 str 的群組後一個字元也可以被定位。

【回傳值】如果找到指定的字元則傳回該字元所在位址,否則傳回 NULL。

傳回的位址是字串在記憶體中隨機分配的位址再加上你所搜尋的字元在字串位置。設字元在字串中首次出現的位置為 i,那麼傳回的位址可以理解為 str i。

提示:如果希望找出某個字元在字串中最後一次出現的位置,可以使用  strrchr()  函數。

【實例】找出字元5首次出現的位置。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strchr(s, &#39;5&#39;);
printf("%ld\n", s);
    printf("%ld\n", p);
system("pause");
    return 0;
}

輸出結果:

12016464
12016469

2、strrchr() 函數用於尋找某字元在字串中最後一次出現的位置,其原型為:

    char * strrchr(const char *str, int c);

【參數】str 為要尋找的字串,c 為要尋找的字元。

strrchr() 將會找出 str 字串中最後一次出現的字元 c 的位址,然後將該位址傳回。

注意:字串 str 的結束標誌 NUL 也會被納入檢索範圍,所以 str 的群組後一個字元也可以被定位。

【傳回值】如果找到就回傳該字元最後一次出現的位置,否則傳回 NULL。

傳回的位址是字串在記憶體中隨機分配的位址再加上你所搜尋的字元在字串位置。設字元在字串中首次出現的位置為 i,那麼傳回的位址可以理解為 str i。

提示:如果希望找出某個字元在字串中第一次出現的位置,可以使用 strchr() 函數。

實例:尋找字元5最後一次出現的位置。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strrchr(s, &#39;5&#39;);
    printf("%ld\n", s);
    printf("%ld\n", p);
    system("pause");
    return 0;
}

執行結果:

12999504
12999529

【相關學習推薦:C語言教學影片

以上是c語言如何查找字串指定字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn