掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
String型(ansiString)の一バイト目には? (ID:34217)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一バイト目に文字列長というのは少しだけあってます。 正確には-3byte - 0byteの4バイトみたいです。 c,c++でも終端0は未保障です。 Delphiの終端0も未保障ですが普通にStringを使っていれば勝手に入ります。 ちなみにやる気を削ぐようでなんですが、 InttoStrはアセンブラ実装ですよ(D2009) 確認コード。 procedure TForm1.Button1Click(Sender: TObject); var b:pbyte; str:AnsiString; i:Integer; begin str := 'test'; b := @str[1]; Dec(b,4); for i := 0 to Length(str) + 4 do begin ListBox1.Items.Add(IntToHex(Integer(b),8) + ' ' + ' str[' + IntToStr(i-3) + ']' + ' ' + 'Byte=' + IntToStr(b^) + ' ' + 'Code=' + Char(b^)); inc(b); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.