char* str[]の表示
Posted: 2012年2月10日(金) 23:47
Ubuntu で 環境変数 LANG=jp_JP.UTF-8 では、「あ」は3バイトです。ちる さんが書きました: 2バイトだから二つ分表示させればよかったのですね。
#include <stdio.h>
int main(void)
{
char *str[] = {
"ありがとう",
"감사",
"Thank you",
"谢谢",
"спасибо",
"ขอบคุณ",
};
int i;
for (i = 0; i < sizeof(str)/sizeof(*str); i++)
printf(" [%c%c]", str[i][0], str[i][1]);
printf("\n");
for (i = 0; i < sizeof(str)/sizeof(*str); i++)
printf(" [%c%c%c]", str[i][0], str[i][1], str[i][2]);
printf("\n");
return 0;
}
LANG環境変数とは関係なくて、ソースファイルをUTF-8で保存すれば3バイトですけど、Shift_JISで保存すると2バイトですよ。かずま さんが書きました:Ubuntu で 環境変数 LANG=jp_JP.UTF-8 では、「あ」は3バイトです。