▼スレッド
│
└◇2053:日本語の出力について [bdash] 04/05 02:55
└◇2056:Re:日本語の出力について [MSだす。] 04/05
└◇2057:Re[2]:日本語の出力について [bdash] 04/05
└◇2058:Re[3]:日本語の出力について [MSだす。] 04/05
└◇2063:Re[4]:日本語の出力について [bdash] 04/05 <
一部間違っていましたので、再アップさせて頂きます。。。スレッド一覧
はじめまして。
かなり参ってます。ご回答をよろしくお願い致します。
【質問内容】
以下のEUC-JPで書かれたプログラムを実行すると、
画面出力が文字化けします。。。
Cygwinでは、出力がSJISでされる(コンソールの実体が
コマンドプロンプトだから?)からかと思うのですが、
何か対応策はないでしょうか??
【ソース(sample.cpp)】
#include <iostream>
using namespace std;
int main(void)
{
cout <<"日本で表示する\n";
return 0;
}
【コンパイル】
$ g++ sample.cpp
【出力結果】
ニ・ワ、ヌノスシィ、ケ、
nkfがあればなんとでもなります。スレッド一覧
Heavy moonのJEからインストールさせてもらうと良いでしょう。
http://www.sixnine.net/cygwin/index_ja.html
$ ./a.exe |nkf -s
日本で表示する
$
ご回答ありがとうございます。>>MS出す。様スレッド一覧
> nkfがあればなんとでもなります。
確かに、出力するだけなら上記で良いと思うのですが、
以下の場合は、どのように対処すれば良いのでしょうか?
。。。これって、「プログラミングの問題なのでは?」と、
少し恥ずかしく思いつつも質問させていただきます。。。
【ソース(sample.c)】
#include <stdio.h>
int main(void)
{
int n;
printf("整数を入力して下さい ");
scanf("%d", &n);
printf("入力した数字は %d です。\n", n);
return (0);
}
そのプログラムならソースそのものをnkfでsjisにスレッド一覧
変換すればよいのではないでしょうか。
$ nkf -s sample.c > sample_sjis.c
$gcc -o sample sample_sjis.c
$
$./sample.exe
整数を入力して下さい 289
入力した数字は 289 です。
$
ただしsjisの場合、文字によって問題が発生することが
ありますが。
そもそも文字列を英語にしてしまう、とか
あるいは
$ echo '892' |./sample.exe |nkf -s
整数を入力して下さい 入力した数字は 892 です。
$
などということも(強引ですが)。
また、eucで使えるターミナルエミュレータもあります。
日本語パッチあてたrxvt、X11でktermとか。
これらもHeavy moonにあるはずです。
お返事、ありがとうございます >>MSだす。様スレッド一覧
> そのプログラムならソースそのものをnkfでsjisに
> 変換すればよいのではないでしょうか。
> $ nkf -s sample.c > sample_sjis.c
> $gcc -o sample sample_sjis.c
> $
> $./sample.exe
> 整数を入力して下さい 289
> 入力した数字は 289 です。
> $
>
> ただしsjisの場合、文字によって問題が発生することが
> ありますが。
> そもそも文字列を英語にしてしまう、とか
SJISへの変換の場合、表示できない文字があるので、
避けたいです。
> あるいは
> $ echo '892' |./sample.exe |nkf -s
> 整数を入力して下さい 入力した数字は 892 です。
> $
> などということも(強引ですが)。
う〜ん、微妙ですね。。。
> また、eucで使えるターミナルエミュレータもあります。
> 日本語パッチあてたrxvt、X11でktermとか。
> これらもHeavy moonにあるはずです。
よって、rxvt、ktermを使用する案でいきたいと思います。
ふ〜、cygwinを使い始めたばかりなので、
今から勉強します。
>>MSだす。様
また、課題にぶち当たった時はよろしくお願いしますです。
と言いつつ、rxvtの導入で既に四苦八苦してますが。。。