考えるのが嫌なわけではなく、自分で書いた場合テスト・保守などの手間がかかり
十分テストされている(と思われる)APIでできるのならそれに越した事は無いな
と思っているのですが。

>>611
C標準のstrncpyだと全角文字考慮されていないようですが…

char buf[6];
strncpy(buf, "あいう", 5);
buf[5] = '\0';
// buf[4]に「う」の1バイト目が入っている