なにも考えずに文字列連結していったら大変なことになりそうだ

str += buff[i];

みたいな。
前後みて適切な動作してくれるならいいけど一文字ずつ領域確保しなおすとか
マゾい仕様に仕上がっててこんなのが今後の主流とかなったら泣く