

No.4ベストアンサー
- 回答日時:
#2です。
文字コードがJISですので、これをEUCに変換すれば、あなたの望んだ結果が得られます。
コマンドライン上で
nkf -e ソースファイル1 > ソースファイル2 と入力してください。
ソースファイル1は、あなたが作成したソースファイルです。これはJISコードになっています。ソースファイル2がEUCコードに変換されたファイルです。ソースファイル2をコンパイルすると、正しい結果が得られます。
尚、emacsの左下のところにエディット中のファイルの漢字コードが表示されるはずです。ソースファイル1の場合はEEJ、ソースファイル2の場合は、EEEと表示されるはずです。
この回答への補足
あと、便乗質問で申し訳ないのですが、デフォルトの漢字コードをiso-2022-jpからEUCに変更するにはどのようにしたらいいかご存じでしょうか?ご存じでしたら、手順を教えて頂きたいのですが、宜しくお願いします。
補足日時:2004/03/28 23:44返事ありがとうございます。
>> nkf -e ソースファイル1 > ソースファイル2
このコマンドを実行したあと再コンパイルしてみると、正常に表示されました。EUCに変更できるコマンドがあるんですね。是非、覚えておきます。
>>尚、emacsの左下のところにエディット中のファイの
>>漢字コードが表示されるはずです。ソースファイル
>>1の場合はEEJ、ソースファイル2の場合は、EEEと
>>表示されるはずです。
この点に関しては、私の環境では、ソースファイル1に関しては、-Jと表示され、ソースファイル2に関しては、
-Eと表示されます。が、特に問題は無いようです。
ご回答ありがとうございました。

No.6
- 回答日時:
#4です。
>あと、便乗質問で申し訳ないのですが、デフォルトの漢字コードをiso-2022-jpからEUCに変更するにはどのようにしたらいいかご存じでしょうか?ご存じでしたら、手順を教えて頂きたいのですが、宜しくお願いします。
本件、私も多少このことを調査したのですが、残念ながら判りませんでした。
この件は、カテゴリをUnix系OSに変えて、質問すると良い回答が得られるかも知れません。
尚、直接の回答にはなりませんが、emacsはソースが既にEUCコードの漢字を含んでいれば、EUCコードで入力できるようになりますので、新規のプログラムを作る場合でも、前のソース(EUC漢字を含んだ)をコピーして、作るようにすれば、EUCコードでの入力ができるようになります。
何度も丁寧な回答ありがとうございます。
>>この件は、カテゴリをUnix系OSに変えて、質問する
>>と良い回答が得られるかも知れません。
そうですね。そうしてみます。
>>尚、直接の回答にはなりませんが、emacsはソースがに
>>EUCコードの漢字を含んでいれば、EUCコードで入力で
>>きるようになりますので、新規のプログラムを作る場
>>合でも、前のソース(EUC漢字を含んだ)をコピーし
>>て、作るようにすれば、EUCコードでの入力ができるに
>>なります。
なるほど、このやり方もありますね。変更の仕方が分かるまではこのやり方を使うことにします。
ありがとうございました。
No.5
- 回答日時:
#3です。
>そうだったんんですね。てっきり、printf("データ")のように書くのが普通だと思っていました。
「あんまりごく普通ではありません。」と書きましたが、ちょっと誤解をまねくというかまずい表現でした。
JISでソースを書くのが意図的なら、#3で書いた方法を取るのが普通だと思いますが、1引数だけのprintfが普通でないとは思いません。
シフトJISやJIS(ISO-2022-JP等)をプログラム中で文字列として使うにはいろいろ制約(シフトJISだと\が含まれるとか)があるので、かなり意識してプログラムを書く必要があります。
JISコードである必然性が無いなら#4の書かれたようにEUC-JPにするのが楽です。プログラムの出力がJISである必要があるなら、ソースはEUC-JPで書いておいて
program | nkf -j
で、JISに変換することも出来ますからね。
No.3
- 回答日時:
>printf("データ"); のようにごく普通に文字列を並べたものであっても文字化けがします。
あんまりごく普通ではありません。
>文字コードは調べてみたところ、iso-2022-jpというものでした。
iso-2022-jpでの"データ"は、printf の書式制御文字である % を含んでますので、printf の第一パラメータに指定してはいけません。
printf("%s","データ");とか、fputs("データ",stdout); ではどうでしょうか?
"データ"に限らず、EUC-JP以外の漢字コードの文字列をprintfの第一パラメータに書かないほうがいいでしょう。fprintfの第二パラメータ等も同じ。
返事ありがとうございます。
>>iso-2022-jpでの"データ"は、printf の書式制御文で
>>ある % を含んでますので、printf の第一パラメーに
>>指定してはいけません。
そうだったんんですね。てっきり、printf("データ")のように書くのが普通だと思っていました。
>>printf("%s","データ");とか、fputs("データ
>>",stdout); ではどうでしょうか?
このようにすると、正常に表示されました。
>>"データ"に限らず、EUC-JP以外の漢字コードの文列
>>をprintfの第一パラメータに書かないほうがいいで
>>しょう。fprintfの第二パラメータ等も同じ。
そうですね。次回からは気をつけたいと思います。
ご回答いただきありがとうございました。

No.2
- 回答日時:
想像する文字コードの問題だと思われます。
EUCコードがデフォルトの文字コードであると言う前提で、
データと書いたのが、SJISかJISになっています。
この「データ」の全角カナ文字は、どのようにして作成されましたでしょうか。
端末でエディタで、直接作成した場合は、その漢字コードが何になっているか調べてください。この方法が判らないときは、エディタは何を使用しているか、提示してください。
又、このソースをWindowsで書いてLinuxにアップロードしているのでしたら、その時の漢字コードの指定は何にしているのか提示してください。
この回答への補足
返事ありがとうございます。
「データ」という文字は、Emacsにて作成しました。
文字コードは調べてみたところ、iso-2022-jpというものでした。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- HTML・CSS HTMLエディタBracketsの文字化け 3 2022/04/28 14:50
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- 大学受験 日本史の問題です。 「女流文学が栄えた理由を政治的要因を含めて書きなさい。」 僕は「唐の衰退に対して 3 2023/03/08 03:13
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アイコンを変更したい
-
.netの作業フォルダ変更
-
VBソースを表示できない。
-
VBにてexeを実行させる方法
-
midiファイルを生成するソフト...
-
すぐに書き込みくださいまして...
-
このプロジェクトを SourceSafe...
-
VBのexeファイルをIEで見れるよ...
-
Visual Studio 2010 C# Express...
-
AccessVBAからC言語のDLLの呼び...
-
自作したActiveXの配布&インス...
-
C#での単体テストの置き場
-
排他処理について
-
C#のクラスライブラリのIntelli...
-
プログラムの連携に関して
-
VBの作成データの配布について
-
VB6で、非表示モジュール(?)の...
-
プロジェクトフォルダ名の変更...
-
ソースから参照しているOCXの一...
-
複数のCのみファイルをリンクし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
エラーの原因は?「この関数の...
-
他の.CPPファイルに定義した関...
-
ソースから参照しているOCXの一...
-
VC++でexeファイルが作成できま...
-
ACCESSのEXEを作るのは可能...
-
VB.NETでActiveX(OCXファイル)作成
-
Visual Studioでプロジェクトが...
-
stdio.hをオープンできない…
-
C#のクラスをVB.netで使用したい!
-
VisualBasicを保存するときにで...
-
VB6 exeファイルのプロパティの...
-
VS2010 ProductVersion 変更
-
同じソースコードなのにバイナ...
-
プリコンパイル?
-
Wingdi.h Windows.h を開くには?
-
VC++ 2010でlog4cxxビルドできない
-
VB6.0の別名保存について
-
プロジェクトフォルダ名の変更...
おすすめ情報