ごみが表示されるって、きっと\0がないんだよね?
それってprintf("%s\n",str);とかやったら場合によってはまずいことになるんじゃないか?(汗