アプリ版:「スタンプのみでお礼する」機能のリリースについて

aという変数がSystem::String型であります。
そこで次に行いたい処理のために、const char*に変換したいのですが、下記のページを参考にプログラムしてみたのですがうまくいきませんでした。
うまくいかなかったというのはまだSystem::String型のままで変換できていなかったとエラーで出てしまいます。
そのような場合は、どのように型変換すればよいのでしょうか?

A 回答 (3件)

あ~PtrToStringCharsだけだとconst char*は取れなかったですね。


wcstombs_sと組み合わせないと。
System::Runtime::InteropServices::Marshal::StringToHGlobalAnsiのほうが楽かな。
(つかい終わったらSystem::Runtime::InteropServices::Marshal::FreeHGlobalが必要)


strcmp等のconst char*を引数にとるような関数ではなく、
wcscmp等のconst wchar_t*を引数にとるような関数ならPtrToStringCharsだけでOK。


まぁ、Stringクラスを使っているから、str~の関数をあえて使うような
無駄なことはふつうはしないでしょうけど。
    • good
    • 0
この回答へのお礼

わかりました。
ありがとうございます。

お礼日時:2009/01/22 17:17

ほえ?


pin_ptr< const wchar_t > p = PtrToStringChars( s );
の p って, まさにここで定義してるじゃん.
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2009/01/22 17:17

http://forums.microsoft.com/msdn-ja/showpost.asp …
を参考にどうぞ。

const char*ならPtrToStringCharsを使うのが一番楽でしょう。

この回答への補足

ありがとうございます。
教えていただいたPtrToStringCharsを使ってみたのですが、
pin_ptr< const wchar_t > p = PtrToStringChars( s );
というところのpがどこで宣言されているのかがわからないのですが教えていただけますでしょうか?

補足日時:2009/01/22 10:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!