2016-09-30 4 views

答えて

1

、バッファとそのサイズにはコンストラクタがないので、あなたはそれを自分で行う必要があります:

String data; 
data.reserve(length+1); // prepare space for the buffer and extra termination character '\0' 
for (int i = 0; i<length; ++i) { 
    data += (char)data_chars[i]; // typecast because String takes uint8_t as something else than char 
} 

それはちょっとメモリを無駄にしていますが。

ところでchar * data_charsを使用しても、タイプキャストなしでも機能します。

+0

申し訳ありませんが、私は答えを切り替えました。 wk_sgが提供する答えは、いくつかのテストの後で正しいものです。 – user781486

0

KIIVによる回答はほぼ正しいです。しかし、100%の正解は以下のようになるはずです。

String data; 
data.reserve(length+1); // prepare space for the buffer and extra termination character '\0' 
for (int i = 0; i<length; ++i) { 
    data += (char) data_chars[i]; 
} 

完全に確実になるには、data_chars[]をcharにキャストする必要があります。 KIIVの答えからの小さな変更。クレジットはまだKIIVに行く。

+1

理論的には、私の答えを編集することができます。あるタイプキャストでのみ異なる別の答えを追加する必要はありません。 – KIIV

+0

KIIV、あなたは正しいので、私がやったことを元に戻すことはできません。あなたの答えに正しいものを記入するようOPに要請します。申し訳ありません。 – user781486

+0

wk_sg、Ok。あなたが気にしないならば、私はただそれをします。 KIIVはもっとそれに値する。 – user781486

関連する問題