構文 構文構文 構文
size_t OCIMultiByteStrncpy(dvoid *hndl, OraText *dststr, CONST OraText *srcstr, size_t n)
備考 備考備考 備考
この関数は、OCIMultiByteStrcpy()に類似していますが、srcstrで示された配列から dststrで示された配列にコピーされるのは最大nバイトまでです。 srcstrにヌル終端文 字があると、そこでコピー処理は停止し、nバイト内でできるだけ多くの文字がコピーされ ます。結果文字列は、ヌル文字で終了します。
戻り値 戻り値戻り値 戻り値
コピーされたバイト数(最後のヌル終端文字を含まない)
表 表表
表8-26 OCIMultiByteStrncatのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドルへのポ
インタ。
dststr(IN/OUT) 追加する宛先のマルチバイト文字列へのポインタ。
srcstr(IN) 追加するソース・マルチバイト文字列へのポインタ。
n(IN) srcstrから追加するバイト数。
OCIでの文字列操作
OCIMultiByteStrnDisplayLength
構文 構文構文 構文
size_t OCIMultiByteStrnDisplayLength(dvoid *hndl, CONST OraText *str1, size_t n) 備考備考備考
備考
この関数は、nバイトの範囲内のすべての文字が占有する表示位置の数を戻します。
戻り値戻り値戻り値 戻り値 表示位置の数
OCIMultiByteStrCaseConversion
構文 構文構文 構文
size_t OCIMultiByteStrCaseConversion(dvoid *hndl, OraText *dststr, CONST OraText
*srcstr, ub4 flag) 備考備考備考
備考
この関数は、srcstrで示されたマルチバイト文字列をフラグで指定された大文字または小 文字に変換し、その結果をdststrで示された配列にコピーします。結果文字列は、ヌル文 字で終了します。
戻り値 戻り値戻り値 戻り値
結果文字列のバイト数(ヌル終端文字を含まない)
表表表
表8-27 OCIMultiByteStrncpyのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドルへのポ
インタ。
srcstr(OUT) 宛先バッファへのポインタ。
dststr(IN) ソース・マルチバイト文字列へのポインタ。
n(IN) srcstrからコピーするバイト数。
表 表表
表8-28 OCIMultiByteStrnDisplayLengthのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドル。
str(IN) マルチバイト文字列へのポインタ。
n(IN) 検査するバイト数。
OCIでの文字列操作
文字列操作のサンプル・コード 文字列操作のサンプル・コード 文字列操作のサンプル・コード 文字列操作のサンプル・コード
次に、文字列を操作する簡単な例を示します。
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 */
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);
} 表 表表
表8-29 OCIMultibyteStrCaseConversionのキーワードのキーワードのキーワードのキーワード/パラメータパラメータパラメータパラメータ キーワード
キーワードキーワード
キーワード/パラメータパラメータパラメータパラメータ 意味意味意味意味
hndl(IN/OUT) OCI環境ハンドルまたはユーザー・セッション・ハンドル。
dststr(OUT) 宛先の配列へのポインタ。
srcstr(IN) ソース文字列へのポインタ。
flag(IN) 大文字または小文字のどちらに変換するかを指定するフラグ。
OCI_NLS_UPPERCASE: 大文字に変換します。
OCI_NLS_LOWERCASE: 小文字に変換します。
ロケールでの言語設定を大/小文字の変換で使用するには、この フラグにORを付けて、OCI_NLS_LINGUISTICを指定します。
OCIでの文字の分類
OCI での文字の分類 での文字の分類 での文字の分類 での文字の分類
Oracle Call Interfaceには、文字を分類するための多くの関数コールが用意されています。