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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0721
beg余計なnull3解決


beg

リンク

2009/7/21(Tue) 10:02:30|NO.26522

buf = $50, $22
bsave "test", buf


吐いたものをバイナリエディタで確認してみると

$50 00 00 00 $22 00 00 00

こんな風になってしまいます。

何か初歩的な質問で申し訳ないのですが、
この余計なnullを削る方法を教えてください。



この記事に返信する


いかろ

リンク

2009/7/21(Tue) 10:23:29|NO.26523

こういうことでしょうか?違ってたらごめんなさい。

data=$50,$22//数値型データ sdim buf,2//セーブ用変数 foreach data poke buf,cnt,data(cnt) buf_size++ loop bsave "test.ss",buf,buf_size
まず数値型変数から文字列型の変数に値を書き込んであげて、書き込んだサイズ分セーブする
という処理をしています。



レノス

リンク

2009/7/21(Tue) 17:31:34|NO.26528

*補足

なぜ null 文字が余計にあるのかというと、

int の変数は、1つあたり 4 バイト、すなわち16進数( $つきの数値 )で
「8桁を」記録するのですが、

buf = $50
で代入しているのは、実際には $00000050 というたった2桁しかない値です。
この6桁分の 0 が、そのまま保存されているので、
null 文字が混入しているように見えるんです。

解決策は、すでにいかろさんが提示されているように、poke を使うことです。



beg

リンク

2009/7/21(Tue) 22:45:03|NO.26530

いかろさん、レノスさん
ありがとうございました



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