READ

ページ名:READ
  • READ

Variable = READ [ # Stream ] AS Datatype

Variable = READ [ # Stream , ] Length

特定のデータ型を読み取る
最初の構文は、ストリームStreamを、Datatype引数で型が指定されているバイナリデータとして読み取ります。 バイナリ表現は、WRITE命令で使用されるものです。
ストリームが指定されていない場合は、標準入力が使用されます。
返されるデータ型は、NULL、ブール、バイト、短、整数、長、ポインタ、単一、浮動、日付、文字列、バリアント、任意の配列、コレクション、または構造体のいずれかです。

文字列を読み込むときは、バイナリデータ表現で指定されているように、文字列の長さをストリームデータの文字列の内容の前に置く必要があります。

ストリームの内容を解釈できない場合は、エラーが発生します。

この命令は、データの読み取りにストリームのバイトオーダーを使用します。

文字列の内容を読む


2番目の構文は、ストリームStreamからLength引数で指定されたバイト数を読み取り、それを文字列として返します。
Lengthが負の場合、最大で( - Length)バイトがストリームの最後まで読み込まれます。
ストリームが指定されていない場合は、標準入力が使用されます。

Gambas 2との互換性

WRITE #Stream、ExpressionはGambas 2.0のExpressionのバイナリ形式を書き込みます。 Gambas 3.0ではExpressionを文字列として書きます。

そのため、Gambasプロジェクトを2.0から3.0に変換するときにはすべてのWRITE命令をチェックし、必要に応じてASデータ型を指定する必要があります。

デフォルトでは、コンパイラーは互換性があるため、古いREAD構文と古いWRITE構文をサポートします。

READ / WRITE構文を書き換える場所を検出したい場合は、 " - no-old-read-write-syntax"フラグを使用してプロジェクトを手動でコンパイルできます。 2番目の構文が使用されている場合、WRITEのLength引数は必須になります。

 

ポインタをストリームとして使用することはできなくなりました。 2番目の構文を使用する場合は、WRITEの代わりにMEMORY命令を使用してメモリストリームを作成します。

See also

 

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧