c語言找出字串指定字元的方法:1、【strchr()】用來找出某個字元在字串中首次出現的位置;2、【strrchr()】函數用來找出某個字符在字串中最後一次出現的位置。
本教學操作環境: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, '5'); 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, '5'); printf("%ld\n", s); printf("%ld\n", p); system("pause"); return 0; }
執行結果:
12999504 12999529
【相關學習推薦:C語言教學影片】
以上是c語言如何查找字串指定字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!