日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

memset、memcpy、strcpy、HeapAlloc

發(fā)布時間:2025/4/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 memset、memcpy、strcpy、HeapAlloc 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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字節(jié)的buffer,memset設置各字節(jié)為零,輸出buffer,此時在 10、20 輸出的內容為空;

然后拷貝"123"到buffer,在 10、50 輸出buffer;

定義20個字節(jié)的buffer1,初始化為零,memcpy拷貝內容過來,然后輸出;

memcpy:第一個參數(shù)是目的,第二個參數(shù)是源,第三個參數(shù)是拷貝的長度;第一個memcpy拷貝了"12345"過去,第二個memcpy只拷貝過來"123";

然后分配堆內存,分配時設置了HEAP_ZERO_MEMORY參數(shù),就已經初始化為全零;然后拷貝一個字符串到分配的堆內存,輸出其內容;

運行如下;

memset的第二個參數(shù)是整型;寫成 memset(buffer1,"0",sizeof(char)*20) 則會報錯;

?

總結

以上是生活随笔為你收集整理的memset、memcpy、strcpy、HeapAlloc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。