初歩的な質問と思いますが(×o×)↓

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
レイ

初歩的な質問と思いますが(×o×)↓

#1

投稿記事 by レイ » 17年前

printf("\n人体の構造と機能\n");
とソースで作った場合コマンドプロンプトでコンパイルして起動したら 人体の国「と機能n と文字化けするのですがなにか対策はありますか?どなたかよろしくおねがいします。

Re:初歩的な質問と思いますが(×o×)↓

#2

投稿記事 by » 17年前

前回同様意味不明です

ソース一度全部載せて

たかぎ

Re:初歩的な質問と思いますが(×o×)↓

#3

投稿記事 by たかぎ » 17年前

ひどい言い方に見えるかもしれませんが...

C言語より先に、日本語を勉強した方がよいと思います。

レイ

Re:初歩的な質問と思いますが(×o×)↓

#4

投稿記事 by レイ » 17年前

#include <stdio.h>

int main(void)
{
char str[80];
int i;

printf("臨床工学技士の科目\n");
gets(str);
for (i = 0; str; i++)
printf("%c", str);

printf("専門基礎科目\n専門科目\n");
gets(str);
for (i = 0; str; i++)
printf("%c", str);

printf("専門基礎科目からいきます\n");
gets(str);
for (i = 0; str; i++)
printf("%c", str);

printf("医学概論\n公衆衛生学\n人体の構造と機能\n病理学概論\n臨床生化学\n臨床免疫学\n臨床薬理学\n情報処理工学\n医用電気工学\n医用電子工学\n医用機械工学\n生体物性工学\n生体材料工学\n");
gets(str);
for (i = 0; str; i++)
printf("%c", str);
return 0;
}

このソースで人体の構造と機能 という語句が人体の国「と機能n と出力されてしまいます。

Re:初歩的な質問と思いますが(×o×)↓

#5

投稿記事 by » 17年前

・・・getsが何してるか僕にはわからない。こんな風に使用していいの?
・・・forは止まるの?

この使い方が正しいなら、多分strの大きさが足りないのかな?
そもそも、何がさせたいんだろ??????

Mist

Re:初歩的な質問と思いますが(×o×)↓

#6

投稿記事 by Mist » 17年前

質問する前に規約をしっかり読みましょう。

解決のヒント
SHIFT-JIS環境では「構(0x8d,0x5c)」や「能(0x94,0x5c)」のように文字コードに\(0x5c)が含まれる文字列は正しく表示されない場合があります。

たかぎ

Re:初歩的な質問と思いますが(×o×)↓

#7

投稿記事 by たかぎ » 17年前

プログラムは意味不明ですが、質問の現象は再現しました。
処理系不明なので推測の域を出ませんが、多分当たっているでしょう。

> 人体の構造と機能

のうち、「構」と「能」は、シフトJISでは2バイト目が0x5cになる、いわゆる「ダメ文字」です。
そのため、シフトJISに対応しているコンパイラでは

> 人体の国「と機能n

のように文字化けします。

もし、GCCを使っており、そのバージョンが3.4以上であれば、-finput-charset=cp932 -fexec-charset=cp932というオプションを付ければ問題は解消するはずです。
ただし、この対応を行っても、プログラムの意味不明なところはいかんともしがたいと思います。

taku.net

Re:初歩的な質問と思いますが(×o×)↓

#8

投稿記事 by taku.net » 17年前

とりあえずレイさんが作っているプログラムの意図が知りたいですね^^;
サンプルを改造して「こんなことも出来る」っていうのを確かめてるんですか?

#レイさん、シフトJISの意味はわかります…よね?

レイ

Re:初歩的な質問と思いますが(×o×)↓

#9

投稿記事 by レイ » 17年前

シフトJISわかりません。

tk-xleader

Re:初歩的な質問と思いますが(×o×)↓

#10

投稿記事 by tk-xleader » 17年前

シフトJISとは日本語をコンピューターで表現する時の文字コードです。

閉鎖

“C言語何でも質問掲示板” へ戻る