現在日本語の自然言語処理について勉強してまして、
C言語でマルチバイト文字列の一文字目のみを抜き出し、
代入、比較するという方法がわからず質問いたしました。
char a[3];//日本語1文字目のみ代入
mor[256][256];//「あいう」「あいうえお」「かきく」が入っているとする
/*略*/
if( memcmp(a,mor,sizeof(char)*3) ){ //aの中身とmorの文字列の一文字目の比較 同じ場合偽、違う場合真
strncpy(a,mor[count],sizeof(char)*3);//もし文字が違う場合、新しい文字列の一文字目を代入
printf("//a=[%s]//\n",a);
}
//a=あ//
//a=か//
実際の出力
//a=ああいう//
//a=ああいうえお//
//a=かかきくけこ//
となります。なぜでしょうか?