gpt4 book ai didi

浅析C++中memset,memcpy,strcpy的区别

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章浅析C++中memset,memcpy,strcpy的区别由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

复制代码 代码如下

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> //memcpy:按字节复制 原型:extern void* memcpy(void *dest,void *src,unsigned int count) //功能:由src所指内存区域复制count个字节到dest所指的内存区域; //同strcpy void *memcpy_su(void *dest, void *src, unsigned int count) {        assert ((dest!=NULL)&&(src!=NULL));        char* bdest = (char*)dest;        char* bsrc = (char*) src;        while(count-->0)         *bdest++ = *bsrc++;        return dest; } //strcpy:复制字符串,遇到'\0'就结束 //原型:extern char *strcpy(char *dest,char *src) //功能:把src所指由'\0'结束的字符串复制到dest所指的数组中; //说明:src和dest所指内存区域是不可以重叠的且dest必须有足够的空间来容纳字符串。返回dest指针。 char *strcpy_su(char *dest,char *src) {        assert((dest!=NULL)&&(src!=NULL));        char *address = dest;        while((*dest++=*src++)!='\0')               continue;        return dest; } //memset:设置buffer所指的内存区域的前count个字节,用字符c来代替 //原型:extern void *memset(void *buffer,int c,int count);  void *memset_su(void *buffer, int c, int count) {    assert ((buffer!=NULL));    char* buffer2 = (char*)buffer;    while(count-->0)         *buffer2++ = c;        return buffer; } void main() {        char str1[100]="abchjhgjghjgjgh";        char str2[50]="efghdfkdjf";        strcpy(str1, str2);        printf("%s\n",str1);          char a[3];        memset(a, 'a', sizeof(a)-1);        memset(&a[2], '\0',1);        printf("%s\n",a);              memcpy(str1, str2, strlen(str2));        printf("%s\n",str1); } 。

最后此篇关于浅析C++中memset,memcpy,strcpy的区别的文章就讲到这里了,如果你想了解更多关于浅析C++中memset,memcpy,strcpy的区别的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com