getstr

バッファから文字列読み出し

getstr p1,p2,p3,p4

p1=変数   : 内容を読み出す先の変数名
p2=変数   : バッファを割り当てた変数名
p3=0~    : バッファのインデックス(Byte単位)
p4=0~255 : 区切りキャラクタのASCIIコード
p5=0~(1024) : 読み出しを行なう最大文字数

解説

メモリ上のバッファの任意の場所にある内容を文字列として変数に読み出しま
す。文字列は、00というコードか、改行コードがあるまで読み出されます。改
行コードは文字列には含まれません。

また、区切りキャラクタコードを指定することができ任意の文字で区切られた
文字列を取り出すこともできます。

この命令で読み出されたByte数は自動的に strsizeというシステム変数に代入
されます。strsizeは、次のインデックスまでの移動量を得る時に使用します。

たとえば、変数bのバッファに
'A' 'B' 'C' ',' 'D' 'E' 'F' 00(終了コード)
というデータが入っている場合、

getstr a,b,0,','

を実行すると、変数aの内容は、
'A' 'B' 'C' の部分が読み出されて"ABC"という文字列になり、strsize は4に
なります。

p5パラメーターにより、読み出しを行なう最大文字数(byte数)を指定することができます。
p5パラメーターが省略された場合には、1024文字(byte)までの読み出しを行ないます。
(p1で指定された変数のバッファは自動的に確保されるので、sdim命令等で
バッファの設定を行なっておく必要はありません。)

この命令は、複数行を含むテキスト文字列データや、特定の文字で区切られた
データを効率よく切り出すためのものです。
複数行を含むテキストを扱うためには、他にもメモリノートパッド命令セット
があります。また、文字列から特定数の文字を取り出すためには、strmid命令
が用意されています。

関連項目

strmid文字列の一部を取り出す

サンプル逆引き (1)

dirinfo.hsp

情報

バージョン3.1
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.1標準命令
タイプ内蔵命令
グループ文字列操作命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_string.hs