Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Temukan karakter dalam buffer.
Sintaks
void *memchr(
const void *buffer,
int c,
size_t count
); // C only
void *memchr(
void *buffer,
int c,
size_t count
); // C++ only
const void *memchr(
const void *buffer,
int c,
size_t count
); // C++ only
wchar_t *wmemchr(
const wchar_t * buffer,
wchar_t c,
size_t count
); // C only
wchar_t *wmemchr(
wchar_t * buffer,
wchar_t c,
size_t count
); // C++ only
const wchar_t *wmemchr(
const wchar_t * buffer,
wchar_t c,
size_t count
); // C++ only
Parameter
buffer
Pointer ke buffer.
c
Karakter yang harus dicari.
count
Jumlah karakter yang akan diperiksa.
Nilai hasil
Jika berhasil, mengembalikan penunjuk ke lokasi c pertama di buffer. Jika tidak, ia mengembalikan NULL.
Keterangan
memchr dan wmemchr cari kemunculan c pertama dalam karakter pertama count dari buffer. Ini berhenti ketika menemukan c atau ketika telah memeriksa karakter pertama count .
Di C, fungsi-fungsi ini mengambil const penunjuk untuk argumen pertama. Di C++, tersedia dua kelebihan beban. Kelebihan beban yang mengambil pointer untuk const mengembalikan pointer ke const; versi yang mengambil pointer ke non-const mengembalikan pointer ke non-const. Makro _CRT_CONST_CORRECT_OVERLOADS didefinisikan jika const dan non-versiconst fungsi ini tersedia. Jika Anda memerlukan perilaku non-untukconst kedua kelebihan beban C++ di C++, tentukan simbol _CONST_RETURN.
Persyaratan
| Rutin | Header yang diperlukan |
|---|---|
memchr |
<memory.h> atau <string.h> |
wmemchr |
<wchar.h> |
Untuk informasi selengkapnya tentang kompatibilitas, lihat Kompatibilitas.
Pustaka
Semua versi pustaka run-time C.
Contoh
// 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
Lihat juga
Manipulasi buffer
_memccpy
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset
strchr, , wcschr_mbschr,_mbschr_l