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。 如需詳細資訊,請參閱平台叫用範例。