> どちらで文字列を作ってもbufの中身はまったく同じと思うんですが

Cならね