昔から、C言語と SJIS は相性が悪いと言われてきた。 それは SJIS では、 漢字の2バイト目が 0xC5 (\ の ASCII コード) に なることがあり、 そのために C コンパイラーに手を入れないと正しく動かなかったからである。 現在の Cygwin の gcc は (GCC のバージョンが 3.4 以上なので)
gcc -finput-charset=cp932 -fexec-charset=cp932 myprog.c |
alias gcc='gcc -finput-charset=cp932 -fexec-charset=cp932' |