C#を使うために、徐々に2005に移行しつつあるのですが、
タイピングの方も、2005に移行してみました。
VS 2005起動して、古いプロジェクト読み込んで、
変換ウィザード使って変換してもらって、特に難なく完了。
次に、コンパイルをしてみる。
以前から聞いていたとおり、strcpyとか、Cからの
文字列操作関数を呼び出してると、警告される。
とりあえずは、コンパイルはできるから、置いといた。
で、問題はここから。
問題ファイルを読み込んで、タイピングの画面に移ろうとするも、
ファイルが見つかりません、とエラーが発生。
今まではこんなことはなかったのになぁ、と思いつつ、
幸いなことに、内部的な例外とかじゃなくて、
自分で書いたエラーなので場所はすぐに特定できた。
どうやら、fstreamをopenして、fstream::fail()の
戻り値がtrueで返ってしまっているようだった。
しかし、今までは動いてたのに何故だろう、と思いつつ
いろいろと試行錯誤しているうちに、どっかで間違えたのか、
ストリームのフラグを間違えて出力にしてしまったのか、
ファイルを上書きしてしまった・・・と思ったら、
上書きはされていなくて、文字化けしたファイルが生成されていた。
ひょっとすると、内部的に文字コードが違ってるのかと思い、
プロパティをいろいろと探してみて、まず、
「文字セット」を「設定なし」に変更。
wchar_tを使用しないように変更。
最後に、main関数の頭の部分に、
setlocale(LC_ALL, "Japanese");
を追加。
以上で何とか読み込むことに成功。
しかし、何故こんなことになったのだろうか・・・。
「文字セット」は以前からあったと思うんだがなぁ。