共用方式為


memchr wmemchr

在緩衝區中尋找的字元。

void *memchr(
   const void *buf,
   int c,
   size_t count
); // C only
void *memchr(
   void *buf,
   int c,
   size_t count
); // C++ only
const void *memchr(
   const void *buf,
   int c,
   size_t count
); // C++ only
wchar_t *wmemchr(
   const wchar_t * buf, 
   wchar_t c,
   size_t count
); // C only
wchar_t *wmemchr(
   wchar_t * buf, 
   wchar_t c,
   size_t count
); // C++ only
const wchar_t *wmemchr(
   const wchar_t * buf, 
   wchar_t c,
   size_t count
); // C++ only

參數

  • buf
    緩衝區的指標。

  • c
    若要尋找的字元。

  • count
    若要檢查的字元數。

傳回值

如果成功的話,則傳回的指標放在第一個c在buf。 否則它會傳回NULL。

備註

memchr 和wmemchr的第一個出現尋找c第一次count個位元組的buf。 發現的時候,它會停止c或當它已經檢查第一個count個位元組。

在 c 中,這些函數會使用const的第一個引數的指標。 在 C++ 中,兩個多載都是可使用。 取得變數的指標,此多載const變數的指標,會傳回const。 變數的指標,會使用非版本-const變數的指標,會傳回非-const。 若兩個定義巨集 _CONST_CORRECT_OVERLOADS const而非-const有可用的版本,這些函式。 如果您需要非-const行為的兩個 C++ overloadsin C++ 中,定義的符號 _CONST_RETURN。

需求

常式

所需的標頭

memchr

<memory.h> 或者 <string.h>

wmemchr

<wchar.h>

如需有關相容性的詳細資訊,請參閱相容性

文件庫

所有版本的 C 執行階段程式庫

範例

// crt_memchr.c

#include <memory.h>
#include <stdio.h>

int  ch = 'r';
char str[] =    "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] =   "         1         2         3         4         5";
char fmt2[] =   "12345678901234567890123456789012345678901234567890";

int main( void )
{
   char *pdest;
   int result;
   printf( "String to be searched:\n             %s\n", string );
   printf( "             %s\n             %s\n\n", fmt1, fmt2 );

   printf( "Search char: %c\n", ch );
   pdest = memchr( string, ch, sizeof( string ) );
   result = (int)(pdest - string + 1);
   if ( pdest != NULL )
      printf( "Result:      %c found at position %d\n", ch, result );
   else
      printf( "Result:      %c not found\n" );
}

Output

String to be searched:
             The quick brown dog jumps over the lazy fox
                      1         2         3         4         5
             12345678901234567890123456789012345678901234567890

Search char: r
Result:      r found at position 12

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

緩衝區操作

_memccpy

memcmp wmemcmp

memcpy wmemcpy

memset wmemset

strchr、 wcschr、 _mbschr、 _mbschr_l