win7, vc6;新建一个单文档工程;代码;

void CMemView::OnDraw(CDC* pDC)
{CMemDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data herechar buffer[4];memset(buffer,0,sizeof(char)*4);pDC->TextOut(10,20, buffer);strcpy(buffer,"123");pDC->TextOut(10,50, buffer);char buffer1[20];memset(buffer1,0,sizeof(char)*20);memcpy(buffer1,"12345",5);pDC->TextOut(10,80, buffer1);memset(buffer1,0,sizeof(char)*20);memcpy(buffer1,"12345",3);pDC->TextOut(10,110, buffer1);HANDLE hHeap = HeapCreate(HEAP_NO_SERIALIZE, 1024 * 1024, 0);char *pszText = (char*)HeapAlloc(hHeap,HEAP_ZERO_MEMORY, 2 * 1024 * 1024);strcpy(pszText, "hello heap!");//printf("%s\n", pszText);pDC->TextOut(10, 140, pszText);HeapFree(hHeap, 0, pszText);HeapDestroy(hHeap);}

先定义4字节的buffer,memset设置各字节为零,输出buffer,此时在 10、20 输出的内容为空;

然后拷贝"123"到buffer,在 10、50 输出buffer;

定义20个字节的buffer1,初始化为零,memcpy拷贝内容过来,然后输出;

memcpy:第一个参数是目的,第二个参数是源,第三个参数是拷贝的长度;第一个memcpy拷贝了"12345"过去,第二个memcpy只拷贝过来"123";

然后分配堆内存,分配时设置了HEAP_ZERO_MEMORY参数,就已经初始化为全零;然后拷贝一个字符串到分配的堆内存,输出其内容;

运行如下;

memset的第二个参数是整型;写成 memset(buffer1,"0",sizeof(char)*20) 则会报错;

memset、memcpy、strcpy、HeapAlloc相关推荐

  1. c语言memcpy与strcpy,C语言:strcpy()和memcpy()

    一.strcpy和memcpy都是标准C库函数,它们有下面的特点: 1.strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知st ...

  2. strcpy()、memcpy()、memmove()、memset()及其应用

    一.strcpy()实现, 字符串拷贝. char *strcpy(char *strDest, const char *strSrc) {     assert((strDest!=NULL) &a ...

  3. 【C语言】memcmp、memcpy、memmove、memset、memchr函数详解

    目录 一.综述 二.介绍 1.memcmp 2.memcpy 3.memmove 4.memset 5.memchr 一.综述 memcmp.memcpy.memmove.memset.memchr都 ...

  4. C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)

    内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...

  5. C/C++基础面试集锦(一)strcpy、memcpy

    **一.strcpy函数实现方法** char* strcpy(char *dest, const char *src) {assert((dest != NULL) && (src ...

  6. mem库系列函数合集(memset、memchr、memcmp、memcpy)

    关于Mem函数,网上五花八门,使初学者很容易迷失方向,笔者在这里做一个常用函数的总结.希望对读者起到些许帮助. 想了解Str系列函数的,请猛戳这里→Str系列函数大全 代码 //头文件:#includ ...

  7. strcpy、strncpy与memcpy的区别与使用方法

    2018-3-19 一.函数说明 1.memcpy函数 void *memcpy(void *s1, const void *s2, size_t n); 说明: 函数memcpy从s2指向的对象中复 ...

  8. 如何用C语言实现各种字符函数和字符串函数strstr、memcpy、memmove、strlen、strcpy、strcmp、strcat

    用C语言模拟实现字符函数与字符串函数 strstr.memcpy.memmove.strlen.strcpy.strcmp.strcat 若使用本文相关代码,还请动手点个赞!!! #define _C ...

  9. memmove、memcpy和memccpy简介

    memmove.memcpy和memccpy三个函数都是内存的拷贝,从一个缓冲区拷贝到另一个缓冲区. memmove(void *dest,void*src,int count) memcpy(voi ...

  10. strcpy()、strncpy()、strlcpy()、strncpy_s()函数

    strncpy()函数 原型:extern char *strncpy(char *dest, char *src, int n);     用法:#include <string.h>  ...

最新文章

  1. java 1000个线程_java,一个程序建立1000个线程,每一个线程加1到一个变量sum。
  2. ubuntu安装mysql依赖关系_ubuntu 安装mysql问题
  3. python和软件自动化_软件测试和自动化测试
  4. centos7.6arm安装mysql8.0.17_Centos yum安装 MySQL 5.7
  5. 数据结构与算法 | 用队列实现栈
  6. java请求注释_求达人给java代码【注释】!!请求尽量详细,万分感谢!!
  7. python验证码重叠_用Python机器学习搞定验证码
  8. nginx正向代理 反向代理
  9. malloc 结构体_二进制安全之堆溢出(系列)——堆基础 amp; 结构(二)
  10. python * args和** kwargs的用法
  11. 整理30份酷炫可视化大屏模板,一个代码不用敲,半天学不会来找我
  12. AspectJ在Android 中的使用攻略
  13. Python字符串isidentifier()
  14. 进阶之路(基础篇) - 003 I/O的模拟的读取
  15. opera档案学习(二)
  16. Python之NLP(转)
  17. 微机原理与接口技术实验
  18. 360云盘修改存储目录技巧
  19. Cadence导出Excel格式BOM表
  20. navicat连接阿里云数据库

热门文章

  1. Leetcode 127. 单词接龙 解题思路及C++实现
  2. python的try和except_python的try...except
  3. JVM 常用的基本配置有哪些?
  4. 取消Ajax请求 || Ajax重复请求问题
  5. myeclipse怎么如何激活
  6. java的知识点34——任务定时调度(多线程)
  7. DevExpress WPF MVVM入门例子
  8. Python3 多线程问题:ModuleNotFoundError: No module named 'thread',原因及解决办法。
  9. 水下机器人_相关知识点
  10. 3.6 matlab函数文件的定义与调用