
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - memchr() 函式
C 庫函式 memchr() 型別為 void,接受三個引數,在引數 str 指向的字串的前 n 個位元組中搜索字元 c(一個無符號字元)的第一次出現。
語法
以下是 C 庫 memchr() 函式的語法:
void *memchr(const void *str, int c, size_t n)
引數
此函式接受以下引數:
str − 這是執行搜尋的記憶體塊的指標。
c − 此值為 int 型別,但函式使用此值的無符號字元轉換執行逐位元組搜尋。
n − 這是要分析的位元組數。
返回值
如果字元在給定的記憶體區域中不存在,則此函式返回指向匹配位元組的指標或 NULL。
示例 1
以下是 C 庫程式,用於演示 memchr() 函式。
#include <stdio.h> #include <string.h> int main () { const char str[] = "Tutorialspoint"; const char ch = '.'; char *ret; ret = memchr(str, ch, strlen(str)); printf("String after |%c| is - |%s|\n", ch, ret); return(0); }
輸出
以上程式碼產生以下輸出:
String after |.| is - |.tutorialspoint.com|
示例 2
該程式使用 memchr() 比較兩個字串,並確定它們是否相等。
#include <stdio.h> #include <string.h> int main() { const char str1[] = "abcdef"; const char ch = 'd'; char* result = (char*)memchr(str1, ch, strlen(str1)); if (result != NULL) { printf("'%c' found at position %ld\n", ch, result - str1); } else { printf("'%c' not found in the string\n", ch); } return 0; }
輸出
執行上述程式碼後,我們得到以下輸出:
'd' found at position 3
示例 3
下面的程式使用 memchr() 在給定字串中搜索特定字元。
#include <stdio.h> #include <string.h> int main() { const char str[] = "Welcome to India"; const char ch = 't'; char* result = (char*)memchr(str, ch, strlen(str)); if (result != NULL) { printf("'%c' found at position %ld\n", ch, result - str); } else { printf("'%c' not found in the string\n", ch); } return 0; }
輸出
執行上述程式碼後,我們得到以下輸出:
't' found at position 8
廣告