Visual C++ 2008を使用してTextBoxからの値(System::String)をmciSendString(LPCWSTR)に渡したいと思っています。
そこで自分はSystem::Stringをstd::stringに変換しそれから渡そうと思っているのですが・・・
『error C2664: 'mciSendStringW' : 1 番目の引数を 'std::string' から 'LPCWSTR' に変換できません。』
のようにエラーが出ます。
当然そのまま与えてるので出るのは当たり前なのですが、キャストや変換の仕方が分からず調べ様にも困っている次第です。
C++に今回始めての挑戦で、右も左も分からないのですが、もしよろしければご指南頂けませんでしょうか?
No.1ベストアンサー
- 回答日時:
>そこで自分はSystem::Stringをstd::stringに変換しそれから渡そうと思っているのですが・・・
これは不要でしょう。
(std::stringはShift_JISコードの文字列を保持している。
System::StringはUnicodeの文字列を保持している。
LPCWSTRはUnicodeの文字列用の変数。
Unicode→Shift_JIS→Unicodeでは無駄が多いし、情報が落ちる可能性がある。)
vcclr.hのPtrToStringCharsを使えばSystem::Stringから簡単に取得できるでしょう。
System::String^ s = L"ほげ";
pin_ptr<const wchar_t> p = PtrToStringChars(s);
どうしてもstd::stringからならMultiByteToWideChar関数とかmbstowcsあたろりでしょうか。
参考URL:http://msdn.microsoft.com/ja-jp/library/d1ae6tz5 …
このSystem::Stringをstd::stringに変換は
std::string cmd = "open " + fileName + " type mpegvideo alias Test";
で連結させたいがためでした。
>System::String^ s = L"ほげ";
>pin_ptr<const wchar_t> p = PtrToStringChars(s);
参考になりました。
System::String^ cmd;
cmd = L"open " + textBox1->Text + L" type mpegvideo alias Test";
pin_ptr<const wchar_t> p = PtrToStringChars(cmd);
で解決です
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- C言語・C++・C# このプログラミング誰か教えてください 9 2022/04/22 18:50
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 2 2022/11/18 15:34
- C言語・C++・C# このプログラミング誰か教えてください。 2 2022/04/22 18:48
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
対数変換のついて
-
16進コード文字列を文字列に変換
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
C#で文字列を数値に変換する方法
-
VC++ std::stringからLPCWSTRに...
-
vb6の桁数指定
-
textbox.textやlabel.captionの...
-
C++/CLI System::String::Fotma...
-
ASPでVBのFormat関数のような機...
-
2進数から10進数へ変換
-
数字→漢数字変換
-
C#でListとDictionaryの判別方法
-
c言語 int temp = 0; if(isdigi...
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
VBScriptでCSVファイルを読み出...
-
EXCELのVBAでLenB関数について
-
【VB】コンボボックスにデータ...
-
CString型 全角半角を意識せず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
C++ 文字列変数と16進数の比較
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
WORD型をCString型に変換する方法
-
textbox.textやlabel.captionの...
-
2の補数の計算について
-
Boolean型変数の値を反転する方法
-
vb6の桁数指定
-
VC++ std::stringからLPCWSTRに...
-
VB6.0 String型→Long型変換方法...
-
n進数の値を10進数の値に変換す...
-
【C++/CLI】int型からString型...
-
エクセルでメールヘッダーを解...
-
C#でListとDictionaryの判別方法
-
2進数から10進数へ変換
-
VB6 case文について
-
文字型を日付/時刻型に変換する...
おすすめ情報