関数でLPCSTR型を返すには?

解決


あんこう  2011-02-08 01:41:30  No: 72325

DrawTextを使って(×)+(数値)を表示するために、
LPCSTR型で返す関数を作ったのですが、なぜか正常に動きません。
内部で操作しやすいstd::stringに一度書き込んでからreturnする時に、
.c_str()を使ったのですが、4,5,6のいずれも-・としか表示されません。
今は、std::string型で返して、それを.c_strで変換することで
表示していますが、LPCSTR型で返して表示することはできませんか?


maru  2011-02-08 01:46:26  No: 72326

> 内部で操作しやすいstd::stringに一度書き込んでから
そのstringがローカル変数だったりして。
LPCSTRはポインタなので、その実体(この場合文字列)が関数から抜けても有効な状態になっている必要があります。


あんこう  2011-02-08 03:39:25  No: 72327

確かに、ローカル変数です。
グローバル変数にする気はないので、このままにします。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加