首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-02-16 
memchr函数的应用谁知道C语言中memchr()函数的用法请举一些实例谢谢了[解决办法]Finds characters in a bu

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

热点排行