メモリに設定した情報をメモリにコピーしたい

[戻る]
山田★靖 [E-Mail] 2003/02/27(木) 22:14:09
いつもお世話になっております。
こないだは、皆様のアドバイスを頂き何とか
理解に到達する事が出来ました。

-----------------------------------
// 確保したい領域のサイズ
// 情報ヘッダ
typedef struct _INFOHEADER
{
DWORD    DataSize;         
WORD    DataNum;             
}INFOHEADER;

// 領域を確保する
BYTE *pInofHed; = new BYTE[sizeof(INFOHEADER)]

〜   領域に値をセットする   〜
-----------------------------------

上記のようにメモリを確保して値をセットしたとします。
その情報を同じサイズを持つ、メモリに設定するやり方を
教えて頂けないでしょうか?

#自分が現時点で思いついているのは力技のみです・・

___ 2003/02/27(木) 22:16:59
memcpyをしらべてみてはどうでしょ?

silver fox 2003/02/28(金) 00:01:05
> #自分が現時点で思いついているのは力技のみです・・

一応その力技とやらを示してみては?

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/28(金) 09:41:39
 素直に作って、素直に代入するとかは???

    INFOHEADER *pInfoHed,CopyInfo;
    
    pInfoHed=new INFOHEADER;
    pInfoHed->DataSize=123;
    pInfoHed->DataNum=456;
    CopyInfo=*pInfoHed;
    TRACE("DataSize=%d,DataNum=%d\n",CopyInfo.DataSize,CopyInfo.DataNum);
    delete pInfoHed;

山田★靖 [E-Mail] 2003/02/28(金) 14:49:28
[[解決]]
ご意見ありがとうございます。
memcpyを使い方を調べていたところ
CopyMemoryが、簡単に使えそうだったので
使ってみる事にしました。

// 領域を確保する
BYTE *pInofHed; = new BYTE[sizeof(INFOHEADER)]

〜   領域に値をセットする   〜
                ・
         ・
// インフォヘッダのサイズの取得
BYTE m_InfoSize = sizeof(INFOHEADER);

// pInfoMemCpyの領域にコピーする
CopyMemory( pInfoMemCpy,pInfoHed,m_InfoSize );

※pInfoMemCpyの領域は、pInfoHedと同じサイズです。

古いスレッドには追加発言できません。