OCI文字列関数
OCI文字列関数をリストし、説明します。
表28-16は、この項で説明しているOCI文字列関数を示しています。
表28-16 文字列関数
関数 | 用途 |
---|---|
文字列メモリーの割り当てられたサイズ(バイト単位)を取得します。 |
|
文字列に文字列を割り当てます。 |
|
文字列にテキスト文字列を割り当てます。 |
|
文字列ポインタを取得します。 |
|
文字列メモリーをサイズ変更します。 |
|
文字列サイズを取得します。 |
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形式です。戻されるバッファのエンコーディングを判別するには、OCIString
のvs
自体でUTF-16に関する情報を確認します。この場合、特定のOCIString
がenv
と同じ設定であることは保証されません。オブジェクト内でメンバー・フィールドを確認するためのオブジェクト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オブジェクト・キャッシュから解放された文字列の割当てメモリーです。
コメント
この関数は、オブジェクト・キャッシュ内の指定した可変長文字列のメモリーをサイズ変更します。文字列の内容は保存されません。また、指定した文字列で占有されている元のメモリーが解放された場合に、新しいメモリー領域に文字列を割り当てることがあります。str
がNULL
の場合、この関数は文字列にメモリーを割り当てます。new_size
が0 (ゼロ)の場合、この関数はstr
が占有していたメモリーを解放し、NULL
ポインタ値を戻します。