读书人

memchr函数的应用,该如何解决

发布时间: 2012-02-16 21:30:36 作者: rapoo

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

读书人网 >C语言

热点推荐