OCI文字列関数

OCI文字列関数をリストし、説明します。

表28-16は、この項で説明しているOCI文字列関数を示しています。

表28-16 文字列関数

関数 用途

OCIStringAllocSize()

文字列メモリーの割り当てられたサイズ(バイト単位)を取得します。

OCIStringAssign()

文字列に文字列を割り当てます。

OCIStringAssignText()

文字列にテキスト文字列を割り当てます。

OCIStringPtr()

文字列ポインタを取得します。

OCIStringResize()

文字列メモリーをサイズ変更します。

OCIStringSize()

文字列サイズを取得します。

OCIStringAllocSize()

文字列の割当てメモリー・サイズをコード・ポイント(Unicode)またはバイト単位で取得します。

用途

文字列の割当てメモリー・サイズをコード・ポイント(Unicode)またはバイト単位で取得します。

構文

sword OCIStringAllocSize ( OCIEnv              *env,
                           OCIError            *err, 
                           const OCIString     *vs,
                           ub4                 *allocsize ); 

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

vs (IN)

割り当てられたサイズがバイト単位で戻される文字列です。vsパラメータは、NULL以外のポインタにしてください。

allocsize (OUT)

文字列メモリーの割当てサイズをバイト単位で戻します。

コメント

割り当てられるサイズは、実際の文字列サイズより大きいかそれに等しくなります。

OCIStringAssign()

文字列を別の文字列に割り当てます。

用途

文字列を別の文字列に割り当てます。

構文

sword OCIStringAssign ( OCIEnv               *env, 
                        OCIError             *err, 
                        const OCIString      *rhs, 
                        OCIString           **lhs );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

rhs (IN)

割当ての右側(ソース)です。UTF-16形式が可能です。

lhs (IN/OUT)

割当ての左側(ターゲット)です。rhsがUTF-16の場合、バッファはUTF-16形式になります。

コメント

rhs文字列をlhs文字列に割り当てます。lhs文字列のサイズは、rhsのサイズに応じて変更されます。割り当てられる文字列は、NULLで終了します。長さのフィールドには、NULLによる終了に必要な余分なコード・ポイントやバイトは含まれません。

戻り値

この関数は、割当て操作で領域が足りなくなった場合はエラーを戻します。

OCIStringAssignText()

ソース・テキスト文字列をターゲット文字列に割り当てます。

用途

ソース・テキスト文字列をターゲット文字列に割り当てます。

構文

sword OCIStringAssignText ( OCIEnv           *env,
                            OCIError         *err, 
                            const OraText    *rhs, 
                            ub4               rhs_len,
                            OCIString       **lhs );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

rhs (IN)

割当ての右側(ソース)となるテキスト文字列またはUTF-16 Unicode文字列です。

rhs_len (IN)

rhs文字列のバイト単位の長さです。

lhs (IN/OUT)

割当ての左側(ターゲット)です。rhsがUnicodeの場合、バッファはUnicodeになります。

コメント

rhs文字列をlhs文字列に割り当てます。lhs文字列のサイズは、rhsのサイズに応じて変更されます。割り当てられる文字列は、NULLで終了します。長さのフィールドには、NULLによる終了に必要な余分なバイトやコード・ポイントは含まれません。

OCIStringPtr()

指定の文字列のテキストへのポインタを取得します。

用途

指定の文字列のテキストへのポインタを取得します。

構文

text *OCIStringPtr ( OCIEnv               *env,
                     const OCIString      *vs );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

vs (IN)

文字列を戻すOCIStringオブジェクトへのポインタです。vsがUTF-16形式の場合、戻されるバッファもUTF-16形式です。戻されるバッファのエンコーディングを判別するには、OCIStringvs自体でUTF-16に関する情報を確認します。この場合、特定のOCIStringenvと同じ設定であることは保証されません。オブジェクト内でメンバー・フィールドを確認するためのオブジェクトOCI関数をチェックします。

コメント

なし。

OCIStringResize()

指定の文字列のメモリー・サイズを変更します。

用途

指定の文字列のメモリー・サイズを変更します。

構文

sword OCIStringResize ( OCIEnv          *env,
                        OCIError        *err,
                        ub4              new_size,
                        OCIString      **str );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

new_size (IN)

文字列の新規メモリー・サイズ(バイト単位)です。new_sizeパラメータには、文字列終了記号のNULL文字用の領域を含める必要があります。

str (IN/OUT)

OCIオブジェクト・キャッシュから解放された文字列の割当てメモリーです。

コメント

この関数は、オブジェクト・キャッシュ内の指定した可変長文字列のメモリーをサイズ変更します。文字列の内容は保存されません。また、指定した文字列で占有されている元のメモリーが解放された場合に、新しいメモリー領域に文字列を割り当てることがあります。strNULLの場合、この関数は文字列にメモリーを割り当てます。new_sizeが0 (ゼロ)の場合、この関数はstrが占有していたメモリーを解放し、NULLポインタ値を戻します。

OCIStringSize()

指定の文字列vsのサイズを取得します。

用途

指定の文字列vsのサイズを取得します。

構文

ub4 OCIStringSize ( OCIEnv              *env,
                    const OCIString     *vs );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

vs (IN)

サイズがバイト単位で戻される文字列です。

コメント

戻されたサイズには、NULLによる終了用の余分なバイトは含まれていません。