memchr_C语言中文网
| 定义于头文件 |
||
| void* memchr( const void* ptr, int ch, size_t count ); |
||
在 ptr 所指向对象的首 count 个字符(每个都转译成 unsigned char )中寻找 ch (在如同以 (unsigned char)ch 转换到 unsigned char 后)的首次出现。
若访问出现于被搜索的数组结尾后,则行为未定义。若 ptr 为空指针则行为未定义。
|
此函数表现如同它按顺序读取字符,并立即于找到匹配的字符时停止:若 |
(C11 起) |
参数
| ptr | - | 指向要检验的对象的指针 |
| ch | - | 要搜索的字符 |
| count | - | 要检验的最大字符数 |
返回值
指向字符位置的指针,或若找不到该字符则为 NULL 。
示例
#include <stdio.h> #include <string.h> int main(void) { char str[] = "ABCDEFG"; char *ps = memchr(str,'D',strlen(str)); if (ps != NULL) printf ("search character found: %s\n", ps); else printf ("search character not found\n"); return 0; }
输出:
search character found: DEFG
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.24.5.1 The memchr function (p: 367)
- C99 standard (ISO/IEC 9899:1999):
- 7.21.5.1 The memchr function (p: 330)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.11.5.1 The memchr function