「なるほど事典」は、毎日早朝7時前から新着記事をリリース。通勤・通学のおともに、ぜひブックマークを!
MFCでプログラムを組んでいると、文字列に関しては、便利なので、CStringクラスを使いまくると思います。しかし、Windows APIには、引数として、LPCTSTR型、LPTSTR型、LPCSTR型、LPSTR型が多いので困ることがあります。
まず、渡すだけであれば、LPCTSTR型あLPCSTR型のところに、CStringをそのまま渡して構いません。
受け取りバッファとして渡す場合が、問題になりますね。この場合は、どうすればよいのでしょうか?
CStringには、GetBuffer()という関数がありますので、これを利用しましょう。すると、LPSTR型のポインタを得ることができますね。この関数の特徴として、後で必ずReleaseBudder()を呼び出して解放しなければいけないということがあげられます。注意が必要です。
は編集部のオススメ記事です。