例えばこの二つの配列を取ったとして考えたのですが。
int型の整数であれば、sprintfもしくはitoaを使えば
なので
こうすれば一応は整数配列を文字列に変換できますが、あまり効率的とはいえない気がします。
すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
Re: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
記事のとちゅうで謝って送信してしまいました。
申し訳ありません。
これよりも効率の良い方法は無いでしょうか?
申し訳ありません。
これよりも効率の良い方法は無いでしょうか?
Re: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
あ、msしてました。
for(i=0;i<10;i++)
str=*uketori;
これだと10以上の時におかしくなりますね。
strcat(str,uketori);
に変えてください。
for(i=0;i<10;i++)
str=*uketori;
これだと10以上の時におかしくなりますね。
strcat(str,uketori);
に変えてください。
Re: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
str配列の要素数が11ならばarrayのなかの値のどれかが10以上であった場合オーバーフローしませんか?
Re: すみません初歩的な質問で悪いのですが配列から文字列に変換する方法なのですが、効率的に変換する方法はありますか?
涼雅
str配列の要素数が11ならばarrayのなかの値のどれかが10以上であった場合オーバーフローしませんか?
おっと、そうでした
多めに取っておいたほうが良いですね
あ、ついでにstr[11]='0'これもアウトですね
hogeさん
有難うございます!
なるほど!
コピーして、sprintfの戻り値でポインタを進めて。
ポインタ使えば馬鹿みたいに配列取らなくても良かったですね。
HolyWingsさん
有難うございます!
此処ですが
for( i = 0; i < 10; i++ ){
str[ i ] = '0' + (char)arr[ i ];
}
ぱっと見ASCIIコードに対応させてると思ったんですが
'0'は確か0x30だから48に置き換えることもできますね。
str配列の要素数が11ならばarrayのなかの値のどれかが10以上であった場合オーバーフローしませんか?
おっと、そうでした
多めに取っておいたほうが良いですね
あ、ついでにstr[11]='0'これもアウトですね
hogeさん
有難うございます!
なるほど!
コピーして、sprintfの戻り値でポインタを進めて。
ポインタ使えば馬鹿みたいに配列取らなくても良かったですね。
HolyWingsさん
有難うございます!
此処ですが
for( i = 0; i < 10; i++ ){
str[ i ] = '0' + (char)arr[ i ];
}
ぱっと見ASCIIコードに対応させてると思ったんですが
'0'は確か0x30だから48に置き換えることもできますね。