すみません。

char a[]="なんらかの文字列";
という長さ・内容不定の文字列があり、始めから1文字づつTextOutでウインドウに表示したいのですが、
たとえば”あ”と”a”ではバイト数がちがうので、
int i=0;///グローバル

mainloop(){

TextOut(hdc,0,0,a,i);
i++;
}

なんてやるとローマ字はちゃんと表示されますが”あ”などの日本語になるとゴミになってしまいます。
かといってi+=2とやると今度はローマ字のところがおかしくなります。
この違いを自動認識するにはどうすればよいのでしょう。