ヘッダーをスキップ
Oracle Call Interfaceプログラマーズ・ガイド
11g リリース1(11.1)
E05677-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

OCI文字列関数

この項では、OCI文字列関数について説明します。

表19-17 文字列関数

関数 用途

OCIStringAllocSize()


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

OCIStringAssign()


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

OCIStringAssignText()


テキスト文字列を文字列に代入します。

OCIStringPtr()


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

OCIStringResize()


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

OCIStringSize()


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



OCIStringAllocSize()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

vs (IN)

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

allocsize (OUT)

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

コメント

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

関連関数

OCIErrorGet()OCIStringResize()OCIStringSize()


OCIStringAssign()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

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による終了に必要な余分なコードポイントやバイトは含まれません。

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

関連関数

OCIErrorGet()OCIStringAssignText()


OCIStringAssignText()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

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による終了に必要な余分なバイトやコードポイントは含まれません。

関連関数

OCIErrorGet()OCIStringAssign()


OCIStringPtr()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

vs (IN)

文字列が戻されるOCIStringオブジェクトへのポインタです。vsがUTF-16の場合は、戻されるバッファもUTF-16になります。戻されるバッファのエンコーディングを調べる場合は、OCIString vs自体のUTF-16情報をチェックします。これは、特定のOCIStringの設定が必ずenvと同じ設定であるとは保証されていないためです。チェックする関数は、オブジェクトのメンバー・フィールドをチェックするために設計されたオブジェクトOCI関数であることが必要です。

コメント

なし

関連関数

OCIErrorGet()OCIStringAssign()


OCIStringResize()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

new_size (IN)

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

str (IN/OUT)

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

コメント

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

関連関数

OCIErrorGet()OCIStringAllocSize()OCIStringSize()


OCIStringSize()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

vs (IN)

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

コメント

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

関連関数

OCIErrorGet()OCIStringResize()