トップ > メモ

C/C++ - Visual Studio 2003 → 2005への移行

(日記より引用)

C#を使うために、徐々に2005に移行しつつあるのですが、
タイピングの方も、2005に移行してみました。

VS 2005起動して、古いプロジェクト読み込んで、
変換ウィザード使って変換してもらって、特に難なく完了。
次に、コンパイルをしてみる。
以前から聞いていたとおり、strcpyとか、Cからの
文字列操作関数を呼び出してると、警告される。
とりあえずは、コンパイルはできるから、置いといた。

で、問題はここから。
問題ファイルを読み込んで、タイピングの画面に移ろうとするも、
ファイルが見つかりません、とエラーが発生。
今まではこんなことはなかったのになぁ、と思いつつ、
幸いなことに、内部的な例外とかじゃなくて、
自分で書いたエラーなので場所はすぐに特定できた。

どうやら、fstreamをopenして、fstream::fail()の
戻り値がtrueで返ってしまっているようだった。
しかし、今までは動いてたのに何故だろう、と思いつつ
いろいろと試行錯誤しているうちに、どっかで間違えたのか、
ストリームのフラグを間違えて出力にしてしまったのか、
ファイルを上書きしてしまった・・・と思ったら、
上書きはされていなくて、文字化けしたファイルが生成されていた。

ひょっとすると、内部的に文字コードが違ってるのかと思い、
プロパティをいろいろと探してみて、まず、
「文字セット」を「設定なし」に変更。
wchar_tを使用しないように変更。
最後に、main関数の頭の部分に、

setlocale(LC_ALL, "Japanese");

を追加。
以上で何とか読み込むことに成功。

しかし、何故こんなことになったのだろうか・・・。
「文字セット」は以前からあったと思うんだがなぁ。

コメント送信フォーム

このコメントはメールで送信され、直接表示されることはありません。
ただし、コメントの内容を引用することはあります。

内容(半角:100000文字)


以下の項目は任意です(特に返信が必要な場合、メールアドレスをお書きください)
お名前(半角:100文字)  
メールアドレス(255文字)

認証のためのキーとして、今日の年月日を入力してください。
例えば、2007年8月24日の場合「20070824」と入力します。


  


一覧へ戻る

トップに戻る

作成日時:2006年 01月 03日 15時 50分 46秒