掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
mallocとwsprintfでString→charを確実に置換するには? (ID:65477)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めて質問させて頂きます。 当方、とりあえずmallocの使い方は判ります(何故かfreeで落ちますが)。 環境はVC++2003.NETです。 class Convert_String{ private: char* Text; public: char* ToChar( System::String* SetText ) { char* Text = (char*)malloc( SetText->Length ); wsprintf( Text, TEXT"%s", SetText ); return Text; } ~Convert_String() { free( text ); } }; 以上が現在書いているクラスの内容です。これは Convert_String* obj = new Convert_String; char* GetText = obj->ToChar( S"フォームから取得したストリングクラスの文字列" ); free( obj ); と記述する事で簡易にフォームから取得されるString型の文字列をchar型へと動的に置換する事が目的です。 これで一応、SetText(Stringクラス)からText(char型)に変換されてGetTextへと渡ってはいるのですが、稀に文字列がコピーされずに壊れてしまい困っています。 forで百回回してウォッチ機能で調べた所、どうもwsprintfで置換されないでTextが" "となる事がある事が判りました。 そもそもwsprintfでの置換が本で調べてとりあえず出来たから使ってる、と言う感じですので、何が悪いのかも判りません。 何方か、改善策をご教授下さい。宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.