数値のバイト順の逆転

提供: InterBase
移動先: 案内検索

変換での作業 へ戻る


InterBase では、データベースおよびトランザクション パラメータ バッファに入力された数値は一般形式であり、最下位バイトが最後にくることを想定しています。 符号付き数値の場合、符号は最後のバイトになります。 最上位バイトの数値を最後に表すシステムでは、isc_portable_integer() API 関数を使用して、DPB および TPB に入力された数値のバイト順序を、逆転させる必要があります。 これらのシステムへの情報呼出しによって、数値情報が返された場合、バイト順を逆にするためにもう一度 isc_portable_integer() を使用しなければなりません。 isc_portable_integer() の構文は次のとおりです:


ISC_LONG isc_portable_integer( char *buffer, short length);

buffer は変換する整数の char ポインタで、length は整数のサイズ(バイト)です。有効な長さは 1 (short)、2 (int)、4(long)、8(INT64) です。次のコードでは、結果バッファ内の 4 バイトの値を逆にしています。


#include <ibase.h>
. . .
for(p = res_buffer; *p != isc_info_end;) {
p++;
length = isc_portable_integer(p, 2);
}

次は: