>>76
ローカル変数buf[]はgetStr()から戻った時点で
スタックから消滅するからだ。

ちなみに
char buf[] = "HELLO";
を
char *buf = "HELLO";
にすればうまくいくだろう。