- 2 名前:1 [2007/11/02(金) 02:23:06 ID:M/fkomaJ]
- 戦闘画面から作っている僕ですが、いきなりつまずきました。
グラフィックもファミコン感あふれるものにしたいためドラクエフォントを使おうと思っているのですが HPなどを表示させるときにint型の数値を全角の数字にしなくてはいけません。 引数に数値を取って文字列を返す関数を作ろうと思ったのですがうまくいきません。 詰まっている箇所が二箇所。 int型からchar型にキャストする方法とNewでメモリを確保してDeleteするタイミングです。 よい解決法があったら教えてください。 char * itos(int number){ int figure = 0; //桁数 int check = number; //計算用に元の数字をコピー //10で割るを繰り返して何桁なのかを求める while(1){ if(check < 1){break;} figure++; check/=10; } //求めた桁数を使って文字列のメモリを確保 char *str = new char[figure + 1]; for(int i=figure;i > 0;i--){ //一桁づつintがたをChar型にしてstrに格納する // strcat(str,2330 + (char)(number%(10^i)); } //動的メモリの為、関数を抜ける前に開放しなくてはいけない。 delete [] str; return str; }
|

|