string overwriting

I had to edit my post above, a slight error:

I added a cast to char on Serial.read(), as it returns an int. What would happen is the received char 'a' would be added to the String as the integer "97". The cast makes the String library add it as a single character.

This and the many allocations are reasons to use a DIY method. Where as
*__ <strong>*arr[i] = Serial.read();*</strong> __*
would work without a cast.