ページ 11

基本的なことかもしれませんが........

Posted: 2007年7月12日(木) 23:29
by マサキ
添付したプログラムをコンパイルしたところ、エラーが出てしまいコンパイルできません。
強引に実行させれば動くのですが、エラーが気になります。
ちなみにエラー内容は39行目に
unknown escape sequence: '\202'
です。
39行目を調べたのですが、おかしなところは見つかりません。
どうすれば解決するでしょうか?

Re:基本的なことかもしれませんが........

Posted: 2007年7月12日(木) 23:42
by Justy
 環境は何ですか?


 以下は、仮に linux+gccだとした場合の話です。

 「表」という文字が悪さをしていそうな気がします。
 ソースの文字コードが Shift-JISだったりしませんか?

 EUC-JPで保存し直して試してみて下さい。

Re:基本的なことかもしれませんが........

Posted: 2007年7月12日(木) 23:57
by tk-xleader
僕の環境であるwindowsとborland C++ 5.5では問題なくコンパイルできました。
たぶんJustyさんの言う事ぐらいしか思い当たる節がありません
ちなみにVisual Studio 2005 のC++でも問題なく実行できました。

Re:基本的なことかもしれませんが........

Posted: 2007年7月14日(土) 01:01
by マサキ
使ってる環境はWindowsにCygWinをダウンロードして使っています。

Re:基本的なことかもしれませんが........

Posted: 2007年7月14日(土) 03:10
by Justy
 だとしたら解決方法は3通りあります。


・ ソースの文字コードを EUCに変更
 テキストエディタなどから保存し直して下さい。

・ 「表」などのエスケープ(\)を含む2バイト文字を使わない
 SHIFT-JISにおける「表」の文字コードは 955cと 5c(\)を含んでいます。
 こういう 5c(\)を含む2バイトの文字・・・「ソ」「能」「十」「圭」「構」「―」「申」の
文字を一切使わないようにソースを書き直して下さい。

・ エスケープ(\)を含む2バイト文字の後ろに '\'を挿入
 「ハッシュ表に登録」を「ハッシュ表\に登録」としてみて下さい。
 それでコンパイラをごまかすことができると思います。



# 昔

// XXX表
++i;

 とか書いたソースを gccでコンパイルしたら警告なしで ++iの行がコメント扱いになって
消えてしまったということが・・・。
 今は警告が出るんですね。

Re:基本的なことかもしれませんが........

Posted: 2007年7月15日(日) 16:36
by マサキ
返事が遅くなって大変申し訳ございません。


>エスケープ(\)を含む2バイト文字の後ろに '\'を挿入
「ハッシュ表に登録」を「ハッシュ表\に登録」としてみて下さい。
それでコンパイラをごまかすことができると思います。

このようにしたらちゃんと作動させることができました。ありがとうございました。