アプリ版:「スタンプのみでお礼する」機能のリリースについて

日本語が書かれたファイルから、その日本語をEUCコードとして配列に収めたいのですが、どうすればいいのでしょう?

英字だったらchar型の配列に入れてしまえばいいですが、char型って1バイトの入れ物ですよね。日本語は2バイト...
int型に入れちゃっていいんでしょうか?…でも、今度はその配列に収めた日本語を表示するトキはどうしたらいいんでしょ??書式は%cでいいのですかね…?(EUCコードで表示するときと、他のコードで表示するトキはどうやって区別するんだろ?というのも疑問です。)

よろしくお願いいたします。

A 回答 (2件)

char型でOKですよ。

(^_^)
但し2バイト文字はその名の通り一文字で2バイト(char型二つ分)使いますので配列を用意するときには注意が必要です。(例えば全角10文字格納するには最低char型で21個以上の配列が必要。1個は'\0'のため。)
表示の際も%sで大丈夫です。(入力もscanf等なら%s)
但し、実行環境が日本語の入出力をサポートしている必要があります。
文字コードに関しては同じ実行環境で入力・出力共に行うのであれば意識しなくても大丈夫です。

この回答への補足

※お礼の欄の後記

問題解決しました。 たしかにchar型でよかったです。
まだ全ての疑問がカンペキに解決したわけではないですが、
今はまだ勉強不足というコトで、とりあえず今回はこれにて閉じさせてもらいます。

補足日時:2001/10/03 18:28
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

…すみません。ただいま混乱中です。
その混乱を解消するために、もう一つ質問を立ち上げますが、
全ての疑問が解消されたときにこの質問も閉めさせてもらう予定です。

お礼日時:2001/10/02 19:26

まず、元のファイルの文字コードが問題になりますが、


EUCコード以外のファイルなら、変換が必要になります。


また、日本語は2バイトとは限りません。
半角カナとか1バイトカナとか呼ばれる文字は,
日本語EUCでは3バイトになったはずです。

配列はint型に入れることも可能でしょうが,
charとして読んだほうが通常は楽と思います。
勿論,目的や処理内容によってはintが適切なケースもありえるでしょう。

表示も環境によります。
もともとEUCが表示できる環境ならEUCでOKですが、
例えばWindows環境ならShift JISに変換する必要があります。

この回答への補足

※お礼の欄の後記

今回は一応問題解決しました。
まだ全ての疑問がカンペキに解決したわけではないですが、
今はまだ勉強不足というコトで、とりあえず今回はこれにて閉じさせてもらいます。

補足日時:2001/10/03 18:38
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

…すみません。ただいま混乱中です。
その混乱を解消するために、もう一つ質問を立ち上げますが、
全ての疑問が解消されたときにこの質問も閉めさせてもらう予定です。

お礼日時:2001/10/02 19:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!