HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0222
strnオフセットの使い方7解決


strn

リンク

2007/2/22(Thu) 09:17:23|NO.5867

bsaveで複数の変数を保存するときに、一つのファイルにまとめたいんですが……
オフセットがうまく使えなくて困ってますorz

dim states,8,10
sdim name,17,8

例えばこの二つの変数を同じファイルに保存したいときは、どんな計算でオフセットを指定すればいいんでしょうか?;



この記事に返信する


アキス

リンク

2007/2/22(Thu) 15:15:42|NO.5868

一番簡単なのは

最初のデータをセーブする。
exist命令でサイズ取得(結果はstrsizeに反映されます。)
次のデータをセーブする(オフセットをstrsizeにすればOKです。)
これを繰り返しデータのマージ(連結)を行います。



Kpan

リンク

2007/2/22(Thu) 22:05:31|NO.5874

それぞれmemcpyを使ってコピーして、最後にbsaveという形はどうでしょう。


dim states,8,10 sdim name,17,8 sdim new, 320 + 64 memcpy new, states, 320 memcpy new, name, 64, 320



strn

リンク

2007/2/23(Fri) 11:50:33|NO.5878

>アキスさん
なるほど、簡単そうでいいですね〜
……あれ、読み込むときはどうしよう^^;


>Kpanさん
おぉーこれだとbsaveもbloadも1回でいいですね。
え〜と、320とか、64の部分は、どういう計算で出したら良いんでしょうか?

sdimのほうは最大サイズが17*8と分かっているので大丈夫なんですが、
dimのほうはサイズいくつになるんでしょうか……桁数の制限とか必要ですか?



リンク

2007/2/23(Fri) 14:34:49|NO.5881

dimは4*8*10



strn

リンク

2007/2/24(Sat) 00:43:46|NO.5894

>>謎さん
え〜と、数値の変数は4byteってことですか?



Irisawa

リンク

2007/2/24(Sat) 01:52:19|NO.5895

数値はsigned int型なので32bit(4byte)です。
普通、int型は32bitです。
(環境によっては16bitだったり64bitだったりしますが)



strn

リンク

2007/2/24(Sat) 10:54:00|NO.5899

>Irisawaさん
なるほど〜勉強になりました
ありがとうございますm(_ _)m



ONION software Copyright 1997-2021(c) All rights reserved.