C 庫(kù)函數(shù) - memchr()

C 標(biāo)準(zhǔn)庫(kù) - <string.h> C 標(biāo)準(zhǔn)庫(kù) - <string.h>

描述

C 庫(kù)函數(shù) void *memchr(const void *str, int c, size_t n) 在參數(shù) str 所指向的字符串的前 n 個(gè)字節(jié)中搜索第一次出現(xiàn)字符 c(一個(gè)無(wú)符號(hào)字符)的位置。

聲明

下面是 memchr() 函數(shù)的聲明。

void *memchr(const void *str, int c, size_t n)

參數(shù)

  • str -- 指向要執(zhí)行搜索的內(nèi)存塊。
  • c -- 以 int 形式傳遞的值,但是函數(shù)在每次字節(jié)搜索時(shí)是使用該值的無(wú)符號(hào)字符形式。
  • n -- 要被分析的字節(jié)數(shù)。

返回值

該函數(shù)返回一個(gè)指向匹配字節(jié)的指針,如果在給定的內(nèi)存區(qū)域未出現(xiàn)字符,則返回 NULL。

實(shí)例

下面的實(shí)例演示了 memchr() 函數(shù)的用法。

#include <stdio.h>
#include <string.h>

int main ()
{
   const char str[] = "http://hgci.cn";
   const char ch = '.';
   char *ret;

   ret = memchr(str, ch, strlen(str));

   printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);

   return(0);
}

讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

|.| 之后的字符串是 - |.w3cschool.cn|

C 標(biāo)準(zhǔn)庫(kù) - <string.h> C 標(biāo)準(zhǔn)庫(kù) - <string.h>