char *strchr(const char *string, int c);
函式功能:在字串裡面搜尋指定字元,並回傳該字元所在字串中的位址
範例程式碼
- #include <stdio.h>
- #include <string.h>
- int main(void)
- {
- char String1[12] = "hello world";
- char *ptr;
- int find_ch = 'o';
- ptr = strchr( String1, find_ch );
- printf( "'%c' first show at '%s'\n",find_ch, ptr );
- }
延伸
我們已經知道了strchr 會回傳搜尋字元第一次出現在字串中的位址,那可不可以知道是在陣列中的第幾個呢? 這其實是沒有問題的,程式碼如下
- #include <stdio.h>
- #include <string.h>
- int main(void)
- {
- char String1[12] = "hello world";
- char *ptr;
- int find_ch = 'o';
- int Location = 0;
- ptr = strchr( String1, find_ch );
- printf( "'%c' first show at '%s'\n",find_ch, ptr );
- Location = ptr - (int)(&String1);//透過兩個位址相減得到字元所在位置
- printf("%c is at String1[%d]\n",find_ch,Location);
- }
參考資料
https://www.tutorialspoint.com/c_standard_library/c_function_strchr.htm
https://zh.m.wikipedia.org/zh-tw/String.h#%E5%87%BD%E6%95%B0
https://www.ibm.com/docs/en/i/7.1?topic=functions-strchr-search-character
沒有留言:
發佈留言