ページ 11

ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 00:16
by jet
scanfなどで入力されたchar型の文字または文字列をint型の数値にする方法はあるのでしょうか?
"りんご"や"東京都"などを数値にしたいのです。

どなたかご教授願います。

Re:ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 00:25
by ookami
> 文字列をint型の数値にする
と、いうのがちと曖昧ですが、
↓のような事でしょうか?
char *s="東京なばば";
for(int i=0;s;i++) printf("%d byte目 = %d\n",i,s);

Re:ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 00:41
by たかぎ
> "りんご"や"東京都"などを数値にしたいのです。

例えば、"りんご"はどんな値に、"東京都"はどんな値になるのですか?

Re:ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 01:00
by jet
回答ありがとうございます。


試しにchar型で一文字入力してみたところ
"あ"も"い"も(おそらくひらがな全て)130と表示されてしまうのです。(int型の十進数で表示)
なので"りんご"や"東京都"のような文字列はまだ試していません。

やりたいことはookamiさんので合っていると思います。

Re:ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 01:05
by box
> "あ"も"い"も(おそらくひらがな全て)130と表示されてしまうのです。(int型の十進数で表示)

どういったソースを書かれたかがわからないため、推測でしかありませんが、
おそらくは、シフトJIS環境において、"あ"や"い"といった2バイト文字の
左バイトが0x82(十進で130)であることによるものだと思います。

Re:ひらがなや漢字を数値に

Posted: 2010年8月28日(土) 01:17
by jet
解決いたしました。
回答していただいたみなさんありがとうございました。