mem开头的库函数
来源:互联网 发布:数据交易服务商 编辑:程序博客网 时间:2024/04/28 19:44
函数名称: memccpy
函数原型: void *memccpy(void *dest, const void *src, int c, size_t n)
函数功能: 字符串拷贝,到指定长度或遇到指定字符时停止拷贝
函数返回:
参数说明: src-源字符串指针,c-中止拷贝检查字符,n-长度,dest-拷贝底目的字符串指针
所属文件: <string.h>,<mem.h>
#include <string.h>
#include <stdio.h>
int main()
{
char *src= "This is the source string ";
char dest[50];
char *ptr;
ptr=memccpy(dest,src, 'c ',strlen(src));
if (ptr)
{
*ptr= '\0 ';
printf( "The character was found:%s ",dest);
}
else
printf( "The character wasn 't found ");
return 0;
}
@函数名称: memchr
函数原型: void *memchr(const void *s, int c, size_t n)
函数功能: 在字符串中第开始n个字符中寻找某个字符c的位置
函数返回: 返回c的位置指针,返回NULL时表示未找到
参数说明: s-要搜索的字符串,c-要寻找的字符,n-指定长度
所属文件: <string.h>,<mem.h>
#include <string.h>
#include <stdio.h>
int main()
{
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 ",ptr-str);
else
printf( "The character was not found ");
return 0;
}
@函数名称: memcmp
函数原型: int memcmp(const void *s1, const void *s2, size_t n)
函数功能: 按字典顺序对字符串s1,s2比较,并只比较前n个字符
函数返回: 返回数值表示比较结果
参数说明: s1,s2-要比较的字符串,n-比较的长度
所属文件: <string.h>,<mem.h>
#include <stdio.h>
#include <string.h>
int main()
{
auto char buffer[80];
strcpy(buffer, "world ");
if( memcmp(buffer, "would ",6)<0){
printf( "Less than\n ");
}
return 0;
}
@函数名称: memicmp
函数原型: int memicmp(const void *s1, const void *s2, size_t n)
函数功能: 按字典顺序、不考虑字母大小写对字符串s1,s2比较,并只比较前n个字符
函数返回: 返回数值表示比较结果
参数说明: s1,s2-要比较的字符串,n-比较的长度
所属文件: <string.h>,<mem.h>
#include <stdio.h>
#include <string.h>
int main()
{
char *buf1 = "ABCDE123 ";
char *buf2 = "abcde456 ";
int stat;
stat = memicmp(buf1, buf2, 5);
printf( "The strings to position 5 are ");
if(stat)
printf( "not ");
printf( "the same ");
return 0;
}
@函数名称: memcpy
函数原型: void *memcpy(void *dest, const void *src, size_t n)
函数功能: 字符串拷贝
函数返回: 指向dest的指针
参数说明: src-源字符串,n-拷贝的最大长度
所属文件: <string.h>,<mem.h>
#include <stdio.h>
#include <string.h>
int main()
{
char src[] = "****************************** ";
char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709 ";
char *ptr;
printf( "destination before memcpy: %s ",dest);
ptr=memcpy(dest,src,strlen(src));
if(ptr)
printf( "destination after memcpy:%s ",dest);
else
printf( "memcpy failed ");
return 0;
}
@函数名称: memmove
函数原型: void *memmove(void *dest, const void *src, size_t n)
函数功能: 字符串拷贝
函数返回: 指向dest的指针
参数说明: src-源字符串,n-拷贝的最大长度
所属文件: <string.h>,<mem.h>
#include <string.h>
#include <stdio.h>
int main()
{
char dest[40]= "abcdefghijklmnopqrstuvwxyz0123456789 ";
printf( "destination prior to memmove:%s\n ",dest);
memmove(dest+1,dest,35);
printf( "destination after memmove:%s ",dest);
return 0;
}
@函数名称: memset
函数原型: void *memset(void *s, int c, size_t n)
函数功能: 字符串中的n个字节内容设置为c
函数返回:
参数说明: s-要设置的字符串,c-设置的内容,n-长度
所属文件: <string.h>,<mem.h>
#include <string.h>
#include <stdio.h>
#include <mem.h>
int main()
{
char buffer[] = "Hello world ";
printf( "Buffer before memset:%s ",buffer);
memset(buffer, '* ',strlen(buffer)-1);
printf( "Buffer after memset:%s ",buffer);
return 0;
}