c++ 分配堆内存并释放

// App02.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <WTypesbase.h>
#include <strsafe.h>
#include <tchar.h>

typedef struct _MyData
{
    int val1;
    int val2;
}MYDATA, * PMYDATA;

#define BUF_SIZE 100

int main()
{
    HANDLE hStdout;
    PMYDATA pData;
    size_t cchStringSize;
    DWORD dwChars;
    TCHAR msgbuf[BUF_SIZE];

    hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    if (hStdout==INVALID_HANDLE_VALUE)
    {
        return -1;
    }
    pData = (PMYDATA)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(MYDATA));

    if (pData==NULL)
    {
        ExitProcess(2);
    }
    pData->val1 = 10;
    pData->val2 = 20;
    StringCchPrintf(msgbuf, BUF_SIZE, _T("结果:%d,%d"), pData->val1, pData->val2);
    StringCchLength(msgbuf, BUF_SIZE, &cchStringSize);
    WriteConsole(hStdout, msgbuf, cchStringSize, &dwChars, NULL);
    HeapFree(GetProcessHeap(), 0, pData);
}

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/114776493