mblenの確認にこんなものを書いてみた。
でもmblenって使い勝手が僅かに微妙。

#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char string[256];
int data1[256];
int nlen;
int mlen;
int i;
char chr[5];

void main()
{
//string[]="abcはABCです。(英文字)\0";
strcpy(string,"abcはABCです。(英文字)\0");
nlen=strlen(string);
printf("文字列:%-s ",string);
printf("strlen:%-d\r\n ",nlen);

//i=0;
for (i=0;i<nlen;i++){
mlen=mblen(&string[i],4);
if(mlen!=-1)strncpy(chr,&string[i],mlen);
else strcpy(chr,"Er\0");
printf("%-d %-s mblen?:%-d\r\n",i,chr,mlen);
if(mlen!=-1)i+=(mlen-1);
}
printf("array total:%-d",i);

return;
}