sprintf 関数を圧縮する関数を作成しようとしていますが、どういうわけか次の問題に遭遇しました。
クラスを呼び出した後の最初の行 (以前は関数でしたが、それも機能しませんでした) 正しい結果が得られました: http://puu.sh/1m1Bw
しかし、クラスや変数にも触れていないのに、まったく違うものを取得した後の行: http://puu.sh/1m1BR
誰かがここで何が起こっているのか説明できますか?
編集:実際のクラスを忘れました:
StringCreator::StringCreator(char* _parten, ...) {
char buff[255];
va_list args;
va_start (args, _parten);
vsprintf (buff,_parten, args);
va_end(args);
this->str = buff;
}
そして .h ファイルで:
class StringCreator {
public:
StringCreator(char* _parten, ...);
char* str;
};