プロが教えるわが家の防犯対策術!

char *Buf;

Buf = GlobalAlloc(GMEM_FIXED, 1000);

このように指定するとエラーが出てしまうのですが、
BufにはHGLOBALではなくcharを使いたいのですが、無理なのでしょうか?
環境はBorlandです。
よろしくお願いします

A 回答 (1件)

GlobalAllocの使い方が違います。


mallocのように直にvoid*が返るわけではありません。
そのメモリ領域にアクセスするにはGlobalLockを
使います。

HGLOBAL hg = GlobalAlloc(GMEM_FIXED, 1000);
if (hg){
Buf = (char*)GlobalLock(hg);
strcpy( Buf , "test\n" );
printf(Buf);
GlobalUnlock(hg);
GlobalFree(hg);
}
    • good
    • 0
この回答へのお礼

助かりました
参考になります!
ありがとうございました。

お礼日時:2006/02/01 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!