すみません、どうもうまくいかないです。。

str:あいうえお len:10
buf:あいうU len:7

こんな感じになってしまいます。
buf:あいう len:6
という出力を期待しているのですが、、

const char str[]="あいうえお";
size_t bytes = 6;

printf("str:%s len:%d",str,strlen(str));

char buf[bytes];

strncpy(buf,str,bytes);

buf[bytes] = "\0";

printf("buf:%s len:%d",buf,strlen(buf));