サイト内検索:

BSTR型→LPSTR型変換

2010年09月27日更新
お気に入りに登録
VBVCJava開発室 > プログラミング > 文字列処理 > BSTR型→LPSTR型変換
文字列処理
  1. doc左部分文字列取得
  2. doc右部分文字列取得
  3. doc任意部分文字列取得
  4. doc文字列内検索
  5. doc文字列長取得
  6. doc文字列分解
  7. doc文字列置換
  8. docint型→文字列変換
  9. doc文字列→int型変換
  10. doclong型→文字列変換
  11. doc文字列→long型変換
  12. docdouble型→文字列変換
  13. doc文字列→double型変換
  14. doc日付型→文字列変換
  15. doc文字列→日付型変換
  16. docBSTR型→LPSTR型変換
  17. docLPSTR型→BSTR型変換
  18. docjstring型→LPSTR型変換
  19. docLPSTR型→jstring型変換
メインメニュー
  1. docプログラミング
  2. docサーバ構築
  3. docお薦めの技術書籍/参考書
  4. docパソコンショップ
  5. docサーバーショップ
  6. doc周辺機器
  7. docモニター
  8. doc外部媒体
  9. doc自作パソコン用パーツ
  10. doc契約
  11. doc就職・転職・バイト情報

◆説明◆

BSTR型の文字列bpTargetをLPSTR型に変換するサンプルです。VC++でActiveXのexe・ocx・dllと連携する際、使用します。


◆VC++(方法1)◆

// atlbase.h, comdef.hをインクルードする必要があります。
// #include <atlbase.h>
// #include <comdef.h>
USES_CONVERSION;
BSTR bpTarget = _bstr_t("あいう");
LPSTR lpResult = OLE2T(bpTarget);
SysFreeString(bpTarget);


◆VC++(方法2)◆

// atlbase.h, comdef.hをインクルードする必要があります。
// #include <atlbase.h>
// #include <comdef.h>
BSTR bpTarget = _bstr_t("あいう");
LPSTR lpResult = ToLPSTR(bpTarget);
SysFreeString(bpTarget);

// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
LPSTR ToLPSTR(BSTR bpTarget)
{
// 結果格納用
LPSTR lpResult;
// 変換元のBSTR型の文字列の長さを求める
int intBSTRLen = SysStringLen(bpTarget);
// 変換後、すべて2バイト文字になるとし、領域を確保
// (+ 1は、NULL文字の分)
int intLPSTRLen = intBSTRLen * 2 + 1;
lpResult = new char[intLPSTRLen];
// 変換
int intRet = WideCharToMultiByte(
CP_ACP,
0,
bpTarget,
intBSTRLen,
lpResult,
intLPSTRLen,
NULL,
NULL);
// 終端にNULL文字を設定
lpResult[intRet] = '\0';
// 戻り値
return lpResult;
}
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


お気に入りに登録