三九宝宝网宝宝百科宝宝知识

memcpy的用法

05月16日 编辑 39baobao.com

[冠词的用法]法语冠词是初学者继动词变位后觉得非常困难的另一块内容。如果说,动词变位的难题能够通过勤学苦练较快地得以解决的话,冠词的学习则要求学生在机械记忆的基础上,广泛阅读、积累...+阅读

是覆盖

函数名: memcpy

功 能: 从源source中拷贝n个字节到目标destin中

用 法: void *memcpy(void *destin, void *source, unsigned n);

程序例:

#include

#include

int main(void)

{

char src[] = "******************************";

char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";

char *ptr;

printf("destination before memcpy: %s\n", dest);

ptr = memcpy(dest, src, strlen(src));

if (ptr)

printf("destination after memcpy: %s\n", dest);

else

printf("memcpy failed\n");

return 0;

}

memcpy函数定义

d,s是两个字符型指针,分别指向目标传位置和源传位置在判断 if(((long)d | (long)s) & lmask) 中,举个具体的例子假设是32位计算机,字长 word= 32/8 为4,即占4个byte,则lmask = 000……00011则d与s若是对齐的,应只有第三位及更高位不同(从低位算起)则(long)d | (long)s的最低两位一定是00,例如 d = **……**10100 s = **……**00100,则(long)d | (long)s = **……**10100,此时((long)d | (long)s) & lmask = 0,即对齐的话不做if中的语句,直接从整字开始copy内存内容否则,((long)d | (long)s) & lmask 非0,进入if语句:if((((long)d ^ (long)s) & lmask) || (count=lsize,即判断为假,则len = lsize - ((long)d & lmask);其中((long)d & lmask)指d中后两位1的个数,为0个,1个,2个或者3个,而lsize - ((long)d & lmask)既是从d开始放,到下一个整字开始前还有几个空位,只能相应的为3个,2个,1个或者0个。

随后的语句是指把先前面的0~3个零头字节复制掉,count -= len; for(; len >0; len--) *d++ = *s++;否则,若d与s开始时就完全错开,如(10,11)或者(count0; len--)循环中的内容。for(len = count & lmask; len >0; len--) *d++ = *s++;因为lmask = 000……00011,则len = count & lmask即字符串的最后0~3个字符,所以最后的for是把整字之外剩余的零头也copy过去讲的比较混乱,按这个思路仔细想象就行了。。。Good luck!

VC中memcpy函数的用法

原型:void *memcpy(void *dest, const void *src, size_t n)例子:#include#includeint main(void){ 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;}...

以下为关联文档:

or的用法和any的用法1、any属于非肯定词,主要用于否定句、疑问句或条件句。 any常与形容词比较级等词相配副词 any与可数搭配,表示every的含义。Is she any better? 她好点了吗? 注意:当any用在肯定...

冠心静片的功效及用法如何?冠心静片的功效及用法如何冠心静片由丹参、三七、赤芍、川芎、红花、人参、玉竹、苏合香、冰 片等药物提取有效成分加工制成。其具有活血化瘀,益气通脉,宣痹止痛的 功能。用于心气不足,瘀血阻滞所致的胸...

英语中比较的用法就是把什么和什么对比的用法形容词的比较级用于两个人或事物的比较,其结构形式如下: 主语+谓语(系动词)+ 形容词比较级+than+ 对比成分.也就是, 含有形容词比较级的主句+than+从句。注意从句常常省去意义上...

非谓语动词的用法以及部分否定的用法非谓语动词 在句子中充当除谓语以外的句子成分的动词形式叫做非谓语动词。非谓语动词分为三种形式:不定式,动名词,和分词(分词包括现在分词和过去分词)。 1)不定式 时态\语态 主动...

敬启的用法本以为的用法是 xxx收件人敬启后来看到有说法是“敬启者”与“敬启” 过去写信,在开头处常用“敬启者”字样,这是一般用法;如给 长辈(如儿女给父母)写信,则应当用“敬禀者”。 “启”、“禀” 虽都有陈述、报告的意思,却都是对收...

一般现在时的用法和一般过去时的用法1.过去进行时往往表示动作的未完成性,而一般过去时往往表示动作已完成。试比较: David wrote a letter to his father last night. 大卫昨晚给他父亲写了一封信。(信写完了。) D...

语文所以标点号的名称和用法带上例子和一些特殊用法——:破折号1.表示解释说明2.表示意思的递进 3.表示语音的延长 4.表示意思的转换,跳跃或转折 5.加强重点 6.表示插说 7.用在副标题前 8.补充说明 9.表示话未说完。 。:句号1.句...

情态动词can的用法要精简的还有join speak play的用法谢谢了can 1).表示体力或脑力方面的能力;i can help you 2).表示允许、可能性。can i borrow your pen? join 1)join及物动词加入(团体,组织,参军)、同……一起干或玩、连接 例句:①I join...

offer的用法全部用法例子谢谢大家offer的用法全部用法例子谢谢大家,下雨前动物们的举动动物们什么举动是下雨的预兆呢:一、 offer作动词的用法: 1。 offer有"(主动)拿给,给予"的意思,相当于give, 后可接名词或代词作宾...

推荐阅读
图文推荐