memchr函数的应用
谁知道C语言中memchr()函数的用法
请举一些实例
谢谢了
[解决办法]
Finds characters in a buffer.
void *memchr(
const void* buf,
int c,
size_t count
);
Parameters
buf
Pointer to buffer.
c
Character to look for.
count
Number of characters to check.
Return Values
If successful, memchr returns a pointer to the first location of c in buf; otherwise, it returns NULL.
Example
/* 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 ";
void main( void )
{
char *pdest;
int result;
printf( "String to be searched:\n\t\t%s\n ", string );
printf( "\t\t%s\n\t\t%s\n\n ", fmt1, fmt2 );
printf( "Search char:\t%c\n ", ch );
pdest = memchr( string, ch, sizeof( string ) );
result = pdest - string + 1;
if( pdest != NULL )
printf( "Result:\t\t%c found at position %d\n\n ", ch, result );
else
printf( "Result:\t\t%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
[解决办法]
函数名: memchr
功 能: 在数组的前n个字节中搜索字符
用 法: void *memchr(void *s, char ch, unsigned n);
程序例:
#include <string.h>
#include <stdio.h>
int main(void)
{
char str[17];
char *ptr;
strcpy(str, "This is a string ");
ptr = memchr(str, 'r ', strlen(str));
if (ptr)
printf( "The character 'r ' is at position: %d\n ", ptr - str);
else
printf( "The character was not found\n ");
return 0;
}
[解决办法]
msdn