ページ 1 / 1
g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月10日(水) 06:57
by えいえい
お世話になります。表題の通り
g++ コンパイル時にUTF8→EUCに変えるオプションはありますか?
お手数ですがよろしくお願いします。
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月10日(水) 07:22
by みけCAT
何を変えるかがよくわからないですが、
コード:
-finput-charset=UTF-8 -fexec-charset=EUC-JP
でしょうか?
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月10日(水) 21:04
by えいえい
お世話になります。以下のようにオプションをつけてやりましたがgethcar()からの戻り値はUTF8のままでした。例:あ→E38182
-finput-charset=UTF-8 -fexec-charset=EUC-JP
getchar()は対応してないのでしょうか?
コード:
int getevent()
{
int getevent()
{
int c,c2;
if ((c = getchar()) > 0x7f) {
c2 = getchar();
return (c << 8) | c2;
}
else
return c;
}int c,c2;
if ((c = getchar()) > 0x7f) {
c2 = getchar();
return (c << 8) | c2;
}
else
return c;
}
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月10日(水) 23:40
by みけCAT
えいえい さんが書きました:お世話になります。以下のようにオプションをつけてやりましたがgethcar()からの戻り値はUTF8のままでした。例:あ→E38182
-finput-charset=UTF-8 -fexec-charset=EUC-JP
getchar()は対応してないのでしょうか?
これは文字列リテラルなどの文字コードを決めるオプションなので、バイト単位で読み込むgetchar()には効かないですね。
目的にもよりますが、nkfなどの外部ツールで入力の文字コードを変換してから渡す、というのではダメでしょうか?
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月11日(木) 06:59
by えいえい
お世話になります。アドバイスありがとうございます。
LINUX用のnkfはどこで入手できるのでしょうか?どういうものか検証してみたいです。
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月11日(木) 13:14
by みけCAT
えいえい さんが書きました:LINUX用のnkfはどこで入手できるのでしょうか?
nkf Network Kanji Filter プロジェクト日本語トップページ - OSDN
ですね。
apt-getからもインストールできるかもしれません。
オフトピック
少しはググるなどして自分で調べてみましたか?
Re: g++ コンパイル時にUTF→EUC8に変えるオプションはありますか?
Posted: 2016年8月12日(金) 06:43
by えいえい
お世話になります。
apt-getからインストールできました。
ググって調査しました。
ありがとうございます。