構文 構文構文 構文
size_t OCIMultiByteStrncpy(dvoid *hndl, OraText *dststr, CONST OraText *srcstr, size_t n)
備考 備考備考 備考
この関数は、最大nバイトがsrcstrで示された配列からdststrで示された配列にコピーされ ることを除けば、OCIMultiByteStrcpy()に似ています。srcstrにNULL終了文字があると、
そこでコピー処理は停止し、nバイト内でできるだけ多くの文字がコピーされます。結果文 字列は、NULLで終了します。
表表表
表5-25 OCIMultiByteStrlenのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドルへのポ
インタ
str(IN) ソース・マルチバイト文字列へのポインタ
表 表表
表5-26 OCIMultiByteStrncatのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドルへのポ
インタ
dststr(IN/OUT) 追加先のマルチバイト文字列へのポインタ
srcstr(IN) 追加するソース・マルチバイト文字列へのポインタ
n(IN) srcstrから追加するバイト数
文字列操作
戻り値 戻り値戻り値 戻り値
コピーされたバイト数(最後のNULL終了文字を含まない)
OCIMultiByteStrnDisplayLength
構文 構文構文 構文
size_t OCIMultiByteStrnDisplayLength(dvoid *hndl, CONST OraText *str1, size_t n) 備考
備考備考 備考
この関数は、nバイトの範囲内のすべての文字が占有する表示位置の数を戻します。
戻り値 戻り値戻り値 戻り値 表示位置の数 表
表表
表5-27 OCIMultiByteStrncpyのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドルへのポ
インタ
srcstr(OUT) 宛先バッファへのポインタ
dststr(IN) ソース・マルチバイト文字列へのポインタ
n(IN) srcstrからコピーするバイト数
表表表
表5-28 OCIMultiByteStrncpyのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドル
str(IN) マルチバイト文字列へのポインタ
n(IN) 検査するバイト数
文字列操作
OCIMultiByteStrCaseConversion
構文 構文構文 構文
size_t OCIMultiByteStrCaseConversion(dvoid *hndl, OraText *dststr, CONST OraText
*srcstr, ub4 flag) 備考備考備考
備考
この関数は、srcstrで示されたマルチバイト文字列をflagで指定された大文字または小文字 に変換し、その結果をdststrで示された配列にコピーします。結果文字列は、NULLで終了 します。
戻り値 戻り値戻り値 戻り値
結果文字列のバイト数(NULL終了文字を含まない)
文字列操作のサンプル・コード 文字列操作のサンプル・コード 文字列操作のサンプル・コード 文字列操作のサンプル・コード
次に、文字列を操作する簡単な例を示します。
size_t MyConvertMultiByteToWideChar(envhp, dstBuf, dstSize, srcStr) OCIEnv *envhp;
OCIWchar *dstBuf;
size_t dstSize;
OraText *srcStr; /* null terminated source string */
{
sword ret;
size_t dstLen = 0;
size_t srcLen;
/* get length of source string */
srcLen = OCIMultiByteStrlen(envhp, srcStr);
ret = OCIMultiByteInSizeToWideChar(envhp, /* environment handle */
dstBuf, /* destination buffer */
dstSize, /* destination buffer size */
表 表表
表5-29 OCIMultibyteStrCaseConversionのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドル
dststr(OUT) 格納先の配列へのポインタ
srcstr(IN) ソース文字列へのポインタ
flag(IN) 大文字または小文字のどちらに変換するかを指定するフラグ
OCI_NLS_UPPERCASE: 大文字に変換します。
OCI_NLS_LOWERCASE: 小文字に変換します。
ロケールでの言語設定を大文字/小文字の変換に使用するには、こ のフラグにOCI_NLS_LINGUISTICとORされた値を指定します。
文字の分類
srcStr, /* source string */
srcLen, /* length of source string */
&dstLen); /* pointer to destination length */
if (ret != OCI_SUCCESS) {
checkerr(envhp, ret, OCI_HTYPE_ENV);
}
return(dstLen);
}
詳細は、『Oracle8i コール・インタフェース・プログラマーズ・ガイド』および『Oracle8i データ・カートリッジ開発者ガイド』を参照してください。
文字の分類 文字の分類 文字の分類 文字の分類
Oracleコール・インタフェースでは、文字を分類するための多くの関数コールが用意されて
います。
表表表
表5-30 OCI文字分類コール文字分類コール文字分類コール文字分類コール 関数コール
関数コール関数コール
関数コール 説明説明説明説明
OCIWideCharIsAlnum() ワイド・キャラクタが、文字であるか10進数字であるかをテストします。
OCIWideCharIsAlpha() ワイド・キャラクタが、アルファベット文字であるかどうかをテストします。
OCIWideCharIsCntrl() ワイド・キャラクタが、制御文字であるかどうかをテストします。
OCIWideCharIsDigit() ワイド・キャラクタが、10進数字であるかどうかをテストします。
OCIWideCharIsGraph() ワイド・キャラクタが、図形文字であるかどうかをテストします。
OCIWideCharIsLower() ワイド・キャラクタが、小文字であるかどうかをテストします。
OCIWideCharIsPrint() ワイド・キャラクタが、印字可能文字であるかどうかをテストします。
OCIWideCharIsPunct() ワイド・キャラクタが、句読点文字であるかどうかをテストします。
OCIWideCharIsSpace() ワイド・キャラクタが、スペース文字であるかどうかをテストします。
OCIWideCharIsUpper() ワイド・キャラクタが、大文字であるかどうかをテストします。
OCIWideCharIsXdigit() ワイド・キャラクタが、16進数字であるかどうかをテストします。
OCIWideCharIsSingleByte() wcがマルチバイトに変換されるとき、シングルバイト文字であるかどうかをテス トします。
文字の分類