• ベストアンサー

GlobalAlloc関数について

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

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.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); }

BPG
質問者

お礼

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