GlobalAlloc関数について

解決済みの質問

GlobalAlloc関数について

char *Buf;

Buf = GlobalAlloc(GMEM_FIXED, 1000);

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

投稿日時 - 2006-02-01 11:22:32

連想キーワード:

QNo.1935861

BPG

困ってます

質問者が選んだベストアンサー

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);
}

投稿日時 - 2006-02-01 12:31:03

お礼

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

投稿日時 - 2006-02-01 13:21:00

ANo.1

1人が「このQ&Aが役に立った」と投票しています

あわせてチェックしたい
  • GlobalAlloc について ...
  • 関数 ...
  • ACCESSのint関数、fix関数について。 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら