> sprintf などで、strncpy みたいにバッファの最大長を

話はそれるけど、strncpy()って半端な関数だよな。
バッファ長をこえてると、最後に0がつかないから、
使うときは結局strlen()なんかで、長さをチェックしなければいけない。

strncat()なんかはしっかり最後に0を付けてくれるのに。