多字节字段的操作有两组函数,它们不对数据做解释,也不假设数据是以空字符结束的C字符串。这些字段可能包含多个字节的0,但又不是C字符串。在头文件<string.h>中定义、名字以str打头的函数处理的是以空字符结束的C字符串。

第一组函数名字以b打头,起源于4.2BSD,第二组函数名字以mem打头,起源于ANSI C标准,有任何支持ANSI C库的系统提供。

#include<strings.h>

void bzero(void* dest, size_t nbytes);

void bcopy(const void *src, const void *dest, size_t nbytes);

int bcmp(const void *ptr1,  const void *ptr2, size_t nbytes);       返回;0--相等,非0--不相等

 

下面的函数是ANSI C函数:

#include<string.h>

void *memset(void *dest, int c, size_t len);

void *memcpy(void* dest, const void *src, size_t nbytes);

int memcmp(const void *ptr1, const void* ptr2, size_t nbytes);       返回:0--相同,>0或<0--不相同

posted on 2011-12-27 21:59  ChangeIt  阅读(275)  评论(0)    收藏  举报