こんにちわ、さちです。
お邪魔します。
メモリの先頭にポインタを戻したいのですが、どうすればいいのでしょうか?(メモリはmallocで確保しています)
fseekはファイルポインタを移動となっていたのですが、メモリの場合はどうすればいいのかよくわかりません。
アドバイスお願いします。
【VC++.NET WindowsXP MFC使用】
どういうことをやっているのでしょうか?
普通は先頭のポインタを記憶しておくのですけど。
どれだけ動かしたかわかっていれば、引き算でも元に戻せるのでは。
ついでに、C++なら malloc よりも new を使ったほうが良いです。
>どういうことをやっているのでしょうか?
メモリを指定数分確保し、その中に情報を送り込んでます。
(確保した分送っているわけではありません。
例えば最初に64取得しといて、32こ分情報を送りこみます。
その後、次の位置(33個目)に追加…またはすでにある情報の一部を削除したりします。
)
>普通は先頭のポインタを記憶しておくのですけど。
記憶するとはどういうことでしょうか?;
XXX * p = new XXX[N];
XXX* keep = p; // 先頭位置をkeepに覚えとく。
....
p = keep; // ←コレがやりたかったのかな?
ありがとうございます。
>XXX * p = new XXX[N];
>XXX* keep = p; // 先頭位置をkeepに覚えとく。
XXXの箇所って、同じ型で平気ですか?
> XXXの箇所って、同じ型で平気ですか?
ごめん、なにが疑問なのかわかりません。
お二方、どうもありがとうございました。
>XXX * p = new XXX[N];
>XXX* keep = p; // 先頭位置をkeepに覚えとく。
の方法で、解決しました。
ツイート | ![]() |